我有这个访问数据库,我有一个表示州名称的ddl和一个表示年份的ddl。我有一个网格视图,我希望将state下拉列表的值传递到where子句中。显然,如果我可以将sql与命名参数一起使用,我会这样做的,但这就是我所坚持的,并且不确定如何正确地格式化它。
下拉列表是name ddlStates。在我尝试过的参数中
mycommand.Parameters.Add("@ddlStates")以下是数据集
public DataSet GetData()
{
DataSet ds;
using (OleDbConnection myConnString = new OleDbConnection())
{
myConnString.ConnectionString = connString;
using (OleDbCommand myCommand = new OleDbCommand())
{
myCommand.CommandText = "select * from tblTest where location = ?";
myCommand.Parameters.Add();
myCommand.Connection = myConnString;
using (OleDbDataAdapter da = new OleDbDataAdapter())
{
da.SelectCommand = myCommand;
ds = new DataSet();
da.Fill(ds, "Grades");
}
}
return ds;
}
}//ends get data dataset发布于 2014-02-21 11:38:13
1.您需要打开您的连接
2.您可以添加如下参数
public DataSet GetData()
{
DataSet ds;
using (OleDbConnection conn = new OleDbConnection(connString))
{
string query= "select * from tblTest where location = ?";
using (OleDbCommand myCommand = new OleDbCommand(query, conn))
{
myCommand.Parameters.AddWithValue("@ddlStates", <your value>);
conn.Open();
using (OleDbDataAdapter da = new OleDbDataAdapter(myCommand, conn))
{
ds = new DataSet();
da.Fill(ds, "Grades");
return ds;
}
}
}
}发布于 2014-02-21 11:36:24
myCommand.Parameters.AddWithKey("location", this.ddlStates.SelectedValue);这假设location列的数据类型是文本的。如果是数字或其他类型,则首先将SelectedValue转换为适当的数据类型。
https://stackoverflow.com/questions/21924636
复制相似问题