在网上搜索了一篇 access数据库操作类http://blog.csdn.net/luchuanbo/article/details/4430666public class Access_db
{......
/// <summary>
/// 执行查询语句,返回SqlDataReader (使用该方法切记要手工关闭SqlDataReader和连接)
/// </summary>
/// <param name="strSQL">查询语句</param>
/// <returns>SqlDataReader</returns>
public static OleDbDataReader ExecuteReader(string SQLString, params OleDbParameter[] cmdParms)
{
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand();
try
{
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
OleDbDataReader myReader = cmd.ExecuteReader();
cmd.Parameters.Clear();
return myReader;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
//finally //不能在此关闭,否则,返回的对象将无法使用
//{
// cmd.Dispose();
// connection.Close();
//}
} ......}我想问一下这个要怎么调用??Access_db my_test=new Access_db();
my_test.ExecuteReader(????)求高手指点一下,谢谢。
{......
/// <summary>
/// 执行查询语句,返回SqlDataReader (使用该方法切记要手工关闭SqlDataReader和连接)
/// </summary>
/// <param name="strSQL">查询语句</param>
/// <returns>SqlDataReader</returns>
public static OleDbDataReader ExecuteReader(string SQLString, params OleDbParameter[] cmdParms)
{
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand();
try
{
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
OleDbDataReader myReader = cmd.ExecuteReader();
cmd.Parameters.Clear();
return myReader;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
//finally //不能在此关闭,否则,返回的对象将无法使用
//{
// cmd.Dispose();
// connection.Close();
//}
} ......}我想问一下这个要怎么调用??Access_db my_test=new Access_db();
my_test.ExecuteReader(????)求高手指点一下,谢谢。
解决方案 »
- 100分求c#如何读取加密过的js文件
- C#监控windows窗口的打开
- winsock
- C#源码文件,想将里面的方法名,参数,注释,访问控制等信息转换到word中,有什么好办法?
- 一个socket的聊天程序,谁能告诉我那个变量储存了收到的字符串
- 关于字节循环操作问题
- 那位高手帮我看看关于pop收邮件的问题!!
- 请教Linux下的web service开发
- 请问蓝牙用序列埠连线后,还可以往这个序列埠写数据资料吗?
- SqlCommand如何执行多行sql脚本? 还没搞定,高手帮忙,急啊!
- 如何计算这道与泛型有关的题,谢谢
- 非常气愤,在.netframework4.0下面编译好的文件不能执行,但在VS2010编译又能执行,不知是什么原因?
注意定义喔 public static OleDbDataReader ExecuteReader(string SQLString, params OleDbParameter[] cmdParms)
//静态方法
Access_db.ExecuteReader(SQLString,cmdParms)
这个我能理解,就是 cmdParms 具体应该是个什么样的内容??
如2楼的 my_test.ExecuteReader("select * from xxx where pname=@pname",new OleDbParameter("@pname", Convert.ToInt32(0)))
OleDbParameter p1 = new OleDbParameter("@name", OleDbType.VarChar, 50);
p1.Value = name;
OleDbParameter p2 = new OleDbParameter("@pwd", OleDbType.VarChar, 50);
p2.Value = pwd; cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
传递类似的参数数组
OleDbCommand dbs = new OleDbCommand[]{p1,p2};
SqlParameter[] paras = {
new SqlParameter("@a",a),
new SqlParameter("@b", b)
};
非常感谢,但我还是不太明白,这 public static OleDbDataReader ExecuteReader(string strSQL)
{
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand(strSQL, connection);
try
{
connection.Open();
OleDbDataReader myReader = cmd.ExecuteReader();
return myReader;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
//finally //不能在此关闭,否则,返回的对象将无法使用
//{
// cmd.Dispose();
// connection.Close();
//}
}
/// <summary>
/// 执行查询语句,返回SqlDataReader (使用该方法切记要手工关闭SqlDataReader和连接)
/// </summary>
/// <param name="strSQL">查询语句</param>
/// <returns>SqlDataReader</returns>
public static OleDbDataReader ExecuteReader(string SQLString, params OleDbParameter[] cmdParms)
{
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand();
try
{
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
OleDbDataReader myReader = cmd.ExecuteReader();
cmd.Parameters.Clear();
return myReader;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
//finally //不能在此关闭,否则,返回的对象将无法使用
//{
// cmd.Dispose();
// connection.Close();
//}
} 这两个函数有什么区别。第一个到底应该在什么情况下,会运用到呢?
第二个就非常简单一看就明白。