private void button2_Click(object sender, EventArgs e)
{
OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=c://library//lib.mdb");
OleDbDataAdapter cmd = new OleDbDataAdapter("select * from entry where LTRIM(subjet)=?", cn);
cmd.SelectCommand.Parameters.AddWithValue("1", comboBox1.Text);
DataSet fg = new DataSet();
cmd.Fill(fg);
label1.Text = "No. of Rows:- " + fg.Tables[0].Rows.Count.ToString();
dataGridView1.DataSource = fg.Tables[0];
}
问问题
711 次
3 回答
1
如果这是一个简单的小型应用程序,那么这样的东西就足够了......
private void button2_Click(object sender, EventArgs e)
{
DataRetriever dr = new DataRetriever();
DataSet fg = dr.GetData(comboBox.Text);
label1.Text = "No. of Rows:- " + fg.Tables[0].Rows.Count.ToString();
dataGridView1.DataSource = fg.Tables[0];
}
public class DataRetriever
{
public void GetData(string text)
{
OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=c://library//lib.mdb");
OleDbDataAdapter cmd = new OleDbDataAdapter("select * from entry where LTRIM(subjet)=?", cn);
cmd.SelectCommand.Parameters.AddWithValue("1", text);
DataSet fg = new DataSet();
cmd.Fill(fg);
}
}
如果这是一个复杂的应用程序,您将需要研究多层应用程序设计。
于 2012-10-26T13:30:16.003 回答
1
您可以简单地用一些类包装连接部分,但我建议您使用 ORM 工具,例如Entity Framework,它可以简单灵活地处理不同的数据库。
于 2012-10-26T13:32:34.413 回答
0
对于初学者,您应该将连接字符串放在 app.config 中的connectionStrings下。
当您打开连接时,请确保无论发生什么都会关闭它:
using (OleDbConnection cn = new OleDbConnection(connectionString))
{
try
{
cn.Open();
//db operations
}
catch(Exception ex)
{
}
}
于 2012-10-26T13:33:08.507 回答