accsess转成mysql语句_轻松教你SQL转ACCESS

SQL数据库转access数据库步骤: 1. 建立access数据库:在access中建立access数据库和表,access字段类型与sql中字段类型的对应关系。 2. 在Access中建表是应注意它的保留关键字:比如Password 如果表中的某个字段使用了关键字,那么会导致一系列的语句错误。

SQL数据库转access数据库步骤:

1. 建立access数据库:在access中建立access数据库和表,access字段类型与sql中字段类型的对应关系。

2. 在Access中建表是应注意它的保留关键字:比如Password 如果表中的某个字段使用了关键字,那么会导致一系列的语句错误。比如update T_Users setUsername=@Username,Password=@Password where UserId=@UserId"此时就会提示"System.Data.OleDb.OleDbException: UPDATE 语句的语法错误".更多保留关键字可以参照互联网。

3. 从sql导入数据到access数据库。

注意:sql2008只能导出到access2007一下的版本的数据库。

Asp.net应做的修改

1. 修改连接字符串:

将改为

提示:其中"Jet.OLEDB.4.0"对应的是access2003版本,"|DataDirectory|"表示数据库在App_Date目录下。

2. 导入 using System.Data.OleDb;命名空间。

将以Sql开头的SqlConnection , SqlCommand , SqlParameter, SqlDataAdapter, SqlParameter, SqlDataReader,SqlType等改成OleDbConnection ,OleDbCommand , OleDbParameter,OleDbDataAdapter, OleDbParameter, OleDbDataReader, OleDbType.

3. 修改。net文件中要操作的表中字段类型的

new SqlParameter("@CategoryName",SqlDbType.NVarChar,100),

newSqlParameter("@ParentId",SqlDbType.NVarChar,50),

newSqlParameter("@Path",SqlDbType.NVarChar,200),

newSqlParameter("@Depth",SqlDbType.Int,4),

newSqlParameter("@ChildIds",SqlDbType.NVarChar,50),

newSqlParameter("@IsActive",SqlDbType.Bit,1),

newSqlParameter("@ArticleNum",SqlDbType.Int,4),

newSqlParameter("@Readme",SqlDbType.NVarChar,200),

newSqlParameter("@CategoryId",SqlDbType.Int,4)};

改成:

new OleDbParameter("@CategoryName", OleDbType.LongVarWChar,100),

new OleDbParameter("@ParentId", OleDbType.LongVarWChar,50),

new OleDbParameter("@Path", OleDbType.LongVarWChar,200),

new OleDbParameter("@Depth", OleDbType.Integer,4),

newOleDbParameter("@ChildIds",OleDbType.LongVarWChar,50),

new OleDbParameter("@IsActive", OleDbType.Boolean,1),

new OleDbParameter("@ArticleNum", OleDbType.Integer,4),

new OleDbParameter("@Readme", OleDbType.LongVarWChar,200),

new OleDbParameter("@CategoryId", OleDbType.Integer,4)};

4. 修改查询字语句式:

4.1 将去掉true或false的单引号,,如HomeShowImg='true '改成HomeShowImg=true

4.2 !=0改成<>0 ,如 IsPicNews !=0 -> IsPicNews <>0

4.3 =''改成is null.与LogImagePath !=' -> LogImagePath is not nul

4.4 NewsId ='" + newsiid + "'";改成NewsId =" + newsiid + "";

5. 当update语句没错但内容无法更新而且VS又没提示出错的时候,可以考虑是不是OleDbParameter中参数的对应顺序的问题,OleDbParameter参数的顺序迎合update语句中出现的顺序保持一致。

比如: string cmdText = "updateT_FriendlyLink set IsShown=@IsShown,LinkUrl=@txtUrl,LinkText=@txtTitle whereId=@Id";

OleDbParameter[]ps ={

newOleDbParameter ("@Id",Id),

newOleDbParameter ("@IsShown",IsShown),

newOleDbParameter ("@txtUrl",txtUrl),

newOleDbParameter ("@txtTitle",txtTitle),

};

这样在SQLServer中可以运行,但在Access中必须改成

OleDbParameter[]ps ={

newOleDbParameter ("@IsShown",IsShown),

newOleDbParameter ("@txtUrl",txtUrl),

newOleDbParameter ("@txtTitle",txtTitle),

new OleDbParameter ("@Id",Id),

};

6.Access不支持:select @@IDENTITY

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值