asp.net C# Connection Class
本文关键字:Class Connection net asp | 更新日期: 2023-09-27 18:16:03
嗨,伙计们,我正试图创建一个连接类,可以通过整个项目中使用的只是调用对象。
如何添加命令参数以及如何为datareader创建方法?这是我的代码:
/// <summary>
/// Summary description for AccessDb
/// </summary>
public class AccessDb
{
OleDbConnection con = new OleDbConnection();
public DataTable dataTable = new DataTable();
public AccessDb()
{
con.ConnectionString = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
}
public DataTable execDataTable(string command)
{
try
{
con.Open();
OleDbCommand cmd = new OleDbCommand(command, con);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(dataTable);
da.Dispose();
}
catch (Exception ex)
{
HttpContext.Current.Response.Write("<script>alert('something wrong with the connection '"+ ex.Message +")</script>");
}
finally
{
con.Close();
}
return dataTable;
}
}
这就是我如何调用类方法
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
AccessDb dbcon = new AccessDb();
DataTable dt = dbcon.execDataTable("SELECT * FROM AGESNews");
if (dbcon.dataTable.Rows.Count > 0) {
grd.DataSource = dt;
grd.DataBind();
}
}
}
}
你应该让你的ExecDataTable
带一个OleDbCommand
public DataTable ExecDataTable(OleDbCommand cmd)
{
try
{
con.Open();
if(cmd.Connection == null)
cmd.Connection = con;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(dataTable);
da.Dispose();
}
catch
{
throw;
}
finally
{
con.Close();
}
return dataTable;
}
如何调用这个方法
OleDbCommand cmd = new OleDbCommand("SELECT * FROM AGESNews WHERE ID=@ID");
cmd.Parameters.AddWithValue("@ID", yourParameterIDValue);
DataTable dt = dbcon.execDataTable(cmd);