我想知道如何使用从Select语句中找到的信息填充DataGridView。这是我的选择按钮的事件:
private void SelectCust(object sender, EventArgs e)
{
OleDbConnection conn = null;
conn = new OleDbConnection(
"Provider=Microsoft.ACE.OLEDB.12.0; " + "Data Source=" + "c:/inetpub/ftproot/ora103/App_Data/Fashion.accdb");
conn.Open();
OleDbCommand cmd = new OleDbCommand("Select * from Customer where CustNum = @MyCust ", conn);
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = cmd;
DataTable dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.DataBind();
if (dt.Rows.Count > 0)
{
}
conn.Close();
}
我想使用“if”语句插入我从Customers表中收集的信息,并填充DataGridView。但是,我无法将DataGridView连接到我的Microsoft Access数据库(称为Fashion.accdb)。这就是我的DataGridView现在的样子(我知道它并不多):
<asp:GridView ID="dataGridView1" runat="server" EnableModelValidation="True">
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>
修改
这是错误:
异常详细信息:System.Data.OleDb.OleDbException:没有给出值 一个或多个必需参数。
我的想法是,我将在客户编号中键入文本框。然后我会点击提交按钮。然后事件将从输入的文本框中检索该数字,获取与该客户有关的数据库中的信息,并将其显示在GridView中
答案 0 :(得分:1)
oledb参数与sql server不同。
...where CustNum = @MyCust
需要
...where CustNum = ? (or: where CustNum = [?])
设置适配器命令后,设置参数:
cmd.Parameters.Add("@CustNum", OleDbType.Integer, 15).Value = yourValue;
希望有所帮助。