SqlString = "Select * From ReallyNet_Sys_AdminUser Where UserID=@IDKeyValue";OleDbCommand OleDbCommand_Load = new OleDbCommand(SqlString, new OleDbConnection (ConfigSetting.GetConnString()));
OleDbCommand_Load.CommandType = CommandType.Text;// 参数设置
OleDbCommand_Load.Parameters.Add(new OleDbParameter("@IDKeyValue" , OleDbType.VarChar , 20));
OleDbCommand_Load.Parameters["@IDKeyValue"].Value = IDKeyValue;
dsCommand.SelectCommand = OleDbCommand_Load;
dsCommand.Fill(_reDataTable);以上这段程序数据联接Access数据库可以正常运行, 但如果是联接SQLSERVER数据库就会出错, 不知道是为什么.
错误信息:必须声明变量 '@IDKeyValue'。
OleDbCommand_Load.CommandType = CommandType.Text;// 参数设置
OleDbCommand_Load.Parameters.Add(new OleDbParameter("@IDKeyValue" , OleDbType.VarChar , 20));
OleDbCommand_Load.Parameters["@IDKeyValue"].Value = IDKeyValue;
dsCommand.SelectCommand = OleDbCommand_Load;
dsCommand.Fill(_reDataTable);以上这段程序数据联接Access数据库可以正常运行, 但如果是联接SQLSERVER数据库就会出错, 不知道是为什么.
错误信息:必须声明变量 '@IDKeyValue'。
System.Data.SqlClient
里面有专门的方法.
OleDbCommand 可以操作ACCESS的.不可能操作SQLsERVER的.
有什么好的解决办法吗
操作ACCESS和SQLSERVER使用的是不同的命名空间.
如:
OleDbCommand ----SqlDataCommand
OleDbConnection ---SqlDataConnection
是相对应的.
-----------------------------------那把SQLSERVER数据库的程序转成ACCESS程序里不是会很麻烦?
有什么好的解决办法吗
应该有些麻烦的
数据库从SQLSERVER中直接导出到ACCESS就可以了.
程序中的数据访问类要由SQLSERVER转换成ACCESS,用手改写的,应该不是很麻烦.
System.Data.SqlClient
里面有专门的方法.
OleDbCommand 可以操作ACCESS的.不可能操作SQLsERVER的.
------------------------------------------
楼主,对不起,我真是给你帮倒忙,反而害了你.
System.Data.OleDb 可以操作sqlSever数据库的!只是效率方面差一些.