System.Data.OleDb.OleDbException: 必须声明变量 '@SEALNUM1'。 at System.Data.OleDb.OleDbDataReader.NextResults(IMultipleResults imultipleResults, OleDbConnection connection, OleDbCommand command) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at MISE.login.checkdatabase() in c:\inetpub\wwwroot\mise\login.aspx.cs:line 86 这是错误信息
变量txtid,txtname,txtpsw都申明过了吗?
其他的变量我有申明过了的
strcommand1.parameters("@id").value=txtid 'txtid,txtname,txtpsw是变量
strcommand1.parameters("@name").value=txtname
strcommand1.parameters("@psw").value=txtpsw
改成:
strcommand1.parameters("@id").value="111"
strcommand1.parameters("@name").value="myname"
strcommand1.parameters("@psw").value="mypwd"看看有没有错误?
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
OleDbTransaction tran = conn.BeginTransaction();
string SymbolBaofei = "Select SEALNUM1,SEALNUM2 From SEALOUT";
OleDbDataAdapter da=new OleDbDataAdapter(SymbolBaofei,conn);
da.SelectCommand.Transaction = tran ;
DataSet ds = new DataSet();
da.Fill(ds,"symbol"); string insinfo = "Insert INTO SEALTEMP (SEALNUM1,SEALNUM2) values (@SEALNUM1,@SEALNUM2)";
OleDbCommand cmd = new OleDbCommand(insinfo,conn);
cmd.Transaction=tran;
cmd.Parameters.Add(new OleDbParameter("@SEALNUM1",OleDbType.VarChar,20));
cmd.Parameters.Add(new OleDbParameter("@SEALNUM2",OleDbType.VarChar,20)); try
{
cmd.Parameters["@SEALNUM1"].Value=ds.Tables["symbol"].Rows[0]["SEALNUM1"].ToString().Trim();
cmd.Parameters["@SEALNUM2"].Value=ds.Tables["symbol"].Rows[0]["SEALNUM2"].ToString().Trim(); cmd.ExecuteNonQuery();
tran.Commit();
}
catch(Exception e)
{
Response.Write(e);
tran.Rollback();
}
finally
{
conn.Close();
}
这样一段代码,又出现说要我申明@SEALNUM1这个变量,我快晕死了