public void tianjia(object sender,EventArgs E)
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("1.mdb");OleDbConnection objConnection=new OleDbConnection (strConnection);
String see="update DS_ProductInf set Amonut=[@ceshu] WHERE Productnumber=[@bh]";
OleDbCommand obj1 = new OleDbCommand(see,objConnection);obj1.Parameters.Add(new OleDbParameter("@bh",OleDbType.Char,40));
obj1.Parameters["@bh"].Value=bianhao.Text;obj1.Parameters.Add(new OleDbParameter("@ceshu",OleDbType.Char,40));
obj1.Parameters["@ceshu"].Value=zceshu.Text;obj1.Connection.Open();
obj1.ExecuteNonQuery();
obj1.Connection.Close();
}代码为上面代码。
调用tianjia以后,一直出错,请问下各位高手。这个错误是怎么回事?
出现以下错误:至少一个参数没有被指定值。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。
源错误:
行 62:
行 63: obj1.Connection.Open();
行 64: obj1.ExecuteNonQuery();
行 65: obj1.Connection.Close();
行 66: }
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("1.mdb");OleDbConnection objConnection=new OleDbConnection (strConnection);
String see="update DS_ProductInf set Amonut=[@ceshu] WHERE Productnumber=[@bh]";
OleDbCommand obj1 = new OleDbCommand(see,objConnection);obj1.Parameters.Add(new OleDbParameter("@bh",OleDbType.Char,40));
obj1.Parameters["@bh"].Value=bianhao.Text;obj1.Parameters.Add(new OleDbParameter("@ceshu",OleDbType.Char,40));
obj1.Parameters["@ceshu"].Value=zceshu.Text;obj1.Connection.Open();
obj1.ExecuteNonQuery();
obj1.Connection.Close();
}代码为上面代码。
调用tianjia以后,一直出错,请问下各位高手。这个错误是怎么回事?
出现以下错误:至少一个参数没有被指定值。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。
源错误:
行 62:
行 63: obj1.Connection.Open();
行 64: obj1.ExecuteNonQuery();
行 65: obj1.Connection.Close();
行 66: }
OleDbCommand obj1 = new OleDbCommand(see,objConnection);obj1.Parameters.Add(new OleDbParameter("@ceshu",OleDbType.Char,40));
obj1.Parameters["@ceshu"].Value=zceshu.Text;obj1.Parameters.Add(new OleDbParameter("@bh",OleDbType.Char,40));
obj1.Parameters["@bh"].Value=bianhao.Text;
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
参数 按sql语句顺序声明
去除[]和调换顺序。
都报同样错误。经过测试发现:
String see= "update DS_ProductInf set Amonut=[@ceshu] WHERE Productnumber=[@bh]"; String see= "update DS_ProductInf set Amonut=@ceshu WHERE Productnumber=@bh";
是一样的。
我在其他查询语句当中添加与删除[]都一样的效果。
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) +41
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +174
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +92
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +65
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +112
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +66
ASP.jinhuo_aspx.tianjia(Object sender, EventArgs E) in E:\xin\admin\jinhuo.aspx:64
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1247
设置OleDbType.Char应该没问题啊.
也就是说这里赋值应该是没问题的.如果是字符形与数据库里面字符不想符合.那么就会应该显示成插入字段之类的错误.
而这里显示的是:至少一个参数没有被指定值.
在中间参数传输出错了?
因为这些代码是在Dreamweaever中写的.
不是在.net写的.所以无法监视.就算可以.我也不会.特请教.........
String see="update DS_ProductInf set Amonut=? WHERE Productnumber=?";