我想在textbox里面输入一个订单编号,就能在datagridview里面显示那条编号的记录。
可是程序老是说orderID上下文不存在,怎么回事啊。
string strconnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
strconnection += @"db.mdb";
string strCommand = "select 订单.订单ID ,订单号 ,公司名称,付款金额,姓名,开始日期"
+ "from 订单,客户,付款额,雇员,订单明细 where 订单.订单ID=订单明细.订单ID and "
+ "订单.客户ID=客户.客户ID and 订单.雇员ID=雇员.雇员ID and 订单.订单ID=付款额.订单ID"
+ "and 订单.ID=?";
this.txtQuery.Text = orderID;
DataSet ds=new DataSet(strCommand);
OleDbConnection conn = new OleDbConnection(strconnection);
OleDbCommand cmd = new OleDbCommand(strCommand,conn);
cmd.Parameters.Add("订单.ID", orderID);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
this.dgvOrder.DataSource = ds;
conn.Close();
可是程序老是说orderID上下文不存在,怎么回事啊。
string strconnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
strconnection += @"db.mdb";
string strCommand = "select 订单.订单ID ,订单号 ,公司名称,付款金额,姓名,开始日期"
+ "from 订单,客户,付款额,雇员,订单明细 where 订单.订单ID=订单明细.订单ID and "
+ "订单.客户ID=客户.客户ID and 订单.雇员ID=雇员.雇员ID and 订单.订单ID=付款额.订单ID"
+ "and 订单.ID=?";
this.txtQuery.Text = orderID;
DataSet ds=new DataSet(strCommand);
OleDbConnection conn = new OleDbConnection(strconnection);
OleDbCommand cmd = new OleDbCommand(strCommand,conn);
cmd.Parameters.Add("订单.ID", orderID);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
this.dgvOrder.DataSource = ds;
conn.Close();
orderID=this.txtQuery.Text;
我指的orderID就是这个问号的,那怎么定义啊
拜托了
string strconnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
strconnection += @"db.mdb"; string strCommand = "select 订单.订单ID ,订单号 ,公司名称,付款金额,姓名,开始日期"
+ "from 订单,客户,付款额,雇员,订单明细 where 订单.订单ID=订单明细.订单ID and "
+ "订单.客户ID=客户.客户ID and 订单.雇员ID=雇员.雇员ID and 订单.订单ID=付款额.订单ID"
+ " and 订单.ID="+ this.txtQuery.Text.ToString();//如果ID号是字符就这样写
//" and 订单.ID='"+ this.txtQuery.Text.ToString()+"'";//
DataSet ds=new DataSet(strCommand);
OleDbConnection conn = new OleDbConnection(strconnection);
OleDbCommand cmd = new OleDbCommand(strCommand,conn);
cmd.Parameters.Add("订单.ID", orderID);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
this.dgvOrder.DataSource = ds;
this.dgvOrder.DataBind();
conn.Close();
没有经过调试,这个事件你写在哪里就得注意了。
string strCommand = "select 订单.订单ID ,订单号 ,公司名称,付款金额,姓名,开始日期"
+ "from 订单,客户,付款额,雇员,订单明细 where 订单.订单ID=订单明细.订单ID and "
+ "订单.客户ID=客户.客户ID and 订单.雇员ID=雇员.雇员ID and 订单.订单ID=付款额.订单ID"
+ "and 订单.ID=@ID"; string orderID=this.txtQuery.Text;添参数时候这样:
cmd.Parameters.Add("@ID", orderID);
string strconnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb";
string strconnection1 = "select 订单.订单ID ,订单号 ,公司名称,付款金额,姓名,开始日期"
+ "from 订单,客户,付款额,雇员,订单明细 where 订单.订单ID=订单明细.订单ID and "
+ "订单.客户ID=客户.客户ID and 订单.雇员ID=雇员.雇员ID and 订单.订单ID=付款额.订单ID"
+ " and 订单.ID="+ this.txtQuery.Text.ToString();//如果ID号是字符就这样写
//" and 订单.ID='"+ this.txtQuery.Text.ToString()+"'";//
DataSet ds=new DataSet(strCommand);
OleDbConnection conn = new OleDbConnection(strconnection);
OleDbCommand cmd = new OleDbCommand(strCommand,conn);
cmd.CommandText=strconnection1 ;
cmd.CommandType=ComandType.Text;
cmd.conn.Open();
cmd.ExecuteNonQuery();
this.dgvOrder.DataSource = ds;
this.dgvOrder.DataBind();
cmd.conn.Close(); 不好意思,没看清你的代码。
那么多的错误。这是更改之后的。
string strconnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb";
string strconnection1 = "select 订单.订单ID ,订单号 ,公司名称,付款金额,姓名,开始日期"
+ "from 订单,客户,付款额,雇员,订单明细 where 订单.订单ID=订单明细.订单ID and "
+ "订单.客户ID=客户.客户ID and 订单.雇员ID=雇员.雇员ID and 订单.订单ID=付款额.订单ID"
+ " and 订单.ID="+ this.txtQuery.Text.ToString();//如果ID号是字符就这样写
//" and 订单.ID='"+ this.txtQuery.Text.ToString()+"'";//
DataSet ds=new DataSet(strCommand);
OleDbConnection conn = new OleDbConnection(strconnection);
OleDbCommand cmd = new OleDbCommand(conn);
cmd.CommandText=strconnection1 ;
cmd.CommandType=ComandType.Text;
cmd.conn.Open();
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
this.dgvOrder.DataSource = ds;
this.dgvOrder.DataBind();
cmd.conn.Close();
我靠,看错两次了。
这次不会再漏了吧?
DataSet ds=new DataSet(strCommand);
这句去掉。
人太马虎了。
strconnection += @"db.mdb";
string strCommand = "select 订单.订单ID ,订单号 ,公司名称,付款金额,姓名,开始日期"
+ "from 订单,客户,付款额,雇员,订单明细 where 订单.订单ID=订单明细.订单ID and "
+ "订单.客户ID=客户.客户ID and 订单.雇员ID=雇员.雇员ID and 订单.订单ID=付款额.订单ID"
+ "and 订单.ID=@orderid";
int orderID=this.txtQuery.Text;
DataSet ds=new DataSet(strCommand);
OleDbConnection conn = new OleDbConnection(strconnection);
OleDbCommand cmd = new OleDbCommand(strCommand,conn);
cmd.Parameters.Add("@orderid", orderID);
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
this.dgvOrder.DataSource = ds;
conn.Close();
int orderID=this.txtQuery.Text;
LS的这句通编译通过?
签定完毕,建议去看看.framwark上关于这些的知识。
这句是不是少东西了啊
OleDbConnection conn = new OleDbConnection(strconnection);
不行,这句老是报错
OleDbCommand cmd = new OleDbCommand(strCommand,conn);