MSSQL数据库转换成ACCESS数据库

MSSQL数据库转换成ACCESS数据库,第1张

SQL2000理论上只能转ACCESS2000

ACCESS转MS SQL数据库的几点经验

1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!

2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。

3.对此两种数据库进行 *** 作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:delete * from user where id=10,而对SQL SERVER数据库进行删除是用:delete user where id=10.

4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。

5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。 你照着来就是

/// <summary>

/// 用于微软的 timestamp 时间戳,比较时传入这个字段进去比较 字节数组转化成字符串精典 彭定山

/// </summary>

/// <param name="byte_">字节数组</param>

/// <returns>转化成字符串,十六进制</returns>

public string byteToString(byte[] byte_)

{

// Convert.ToBase64String(byte_)//这个方法是 测试接口的转换方法 网页中默认的测试就是用的这个转化的

//默认为0的表示方法:0x0000000000000000

//注意:数据库中的调用比较方法是不加单引号的:SELECT unitcode,unitname,cityid,unitsort,msTimestamp FROM zjytUnitCodeName WHERE msTimestamp>0x0000000000000000

if (byte_ == null || byte_.Length <1)

{

return "0x0000000000000000"//一定要这样,不然 sql语句的组合变成了 msTimestamp> 就报错了,因为它相当于是个序列性的数字

}

else

{

string abc5 = "0x" + BitConverter.ToString(byte_).Replace("-", "")

return abc5

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10817836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存