当前位置:Gxlcms > mysql > 轻松教你SQL转ACCESS

轻松教你SQL转ACCESS

时间:2021-07-01 10:21:17 帮助过:176人阅读

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

人气教程排行