動(dòng)態(tài)執(zhí)行sql查詢:鑒于圖形方式不夠靈活,這里使用動(dòng)態(tài)代碼重新做上次的內(nèi)容。
界面上不再需要OleDbConnection和OleDbDataAdapter。只要有一個(gè)datagrid。
添加一個(gè)按鈕。在按鈕的點(diǎn)擊事件中增加如下代碼(myConnString 可以從上次的圖形界面的OleDbConnection屬性得到,刪除部分無(wú)用的信息,保留數(shù)據(jù)源、用戶、密碼等主要信息):
string myConnString ="Jet OLEDB:Database Password=;Data Source=\"C:\\db1.mdb\";
Password=;Provider=\"Microsoft.Jet.OLEDB.4.0\";User ID=Admin";
string querySql ="select * from test where name <> 'aa'";
//新建一個(gè)OleDbConnection,一個(gè)OleDbDataAdapter
OleDbConnection myConnection = new OleDbConnection(myConnString);
OleDbDataAdapter adapter = new OleDbDataAdapter(querySql,myConnection);
adapter.SelectCommand = new OleDbCommand(querySql, myConnection);
DataSet ds = new DataSet();
this.DataGrid1.DataSource=ds;
adapter.Fill(ds);
this.DataGrid1.DataBind();
點(diǎn)擊按鈕之后,就可以看到按照你的Sql得到的檢索結(jié)果
OleDbCommand 還支持在查詢中使用動(dòng)態(tài)參數(shù)。上面的例子經(jīng)過(guò)修改如下:
string myConnString ="Jet OLEDB:Database Password=;Data Source=\"C:\\db1.mdb\";Password=;
Provider=\"Microsoft.Jet.OLEDB.4.0\";User ID=Admin";
string querySql ="select * from test where name = @name";
//新建一個(gè)OleDbConnection,一個(gè)OleDbDataAdapter
OleDbConnection myConnection = new OleDbConnection(myConnString);
OleDbDataAdapter adapter = new OleDbDataAdapter(querySql,myConnection);
OleDbCommand myCommand = new OleDbCommand(querySql, myConnection);
OleDbParameter myParm = new OleDbParameter("@name",OleDbType.VarChar,50);
myParm.Value="Liu";
myCommand.Parameters.Add(myParm );
adapter.SelectCommand =myCommand;
DataSet ds = new DataSet();
this.DataGrid1.DataSource=ds;
adapter.Fill(ds,"test");
this.DataGrid1.DataBind();
這樣點(diǎn)擊按鈕之后就可以檢索到名字是“Liu”的數(shù)據(jù)