private void ImageButtonnext_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//下一步
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath((String)ConfigurationSettings.AppSettings["数据库路径"]);
OleDbConnection objConnection=new OleDbConnection(strConnection); //把TextBoxid和TextBoxpsw中的内容写入zhuce表中的ID,psw列中
OleDbCommand objCommand = new OleDbCommand("insert into zhuce(ID, psw) values(@TextBoxid,@TextBoxpsw)",objConnection); 

try
{
objConnection.Open();
objCommand.ExecuteNonQuery();
Response.Redirect("information.aspx")  ;
}
catch(Exception ex)
{
for(int i=1;i<15;i++)
{
Response.Write("<br>");
}
Response.Write("<center>该ID号已存在,请换一个使用!谢谢");
TextBoxid.Text="";
TextBoxpsw.Text="";
TextBoxconfirm.Text="";
TextBoxcode.Text="";
}
objConnection.Close();
在objCommand.ExecuteNonQuery();一句处出现异常(缺少参数),但察看了msdn,事例中也是这么用的,原因是为啥?

解决方案 »

  1.   

    可能是你没有对@TextBoxid,@TextBoxpsw赋值.
      

  2.   

    //把TextBoxid和TextBoxpsw中的内容写入zhuce表中的ID,psw列中
    string sql = string.Format("insert into zhuce(ID, psw) values({0},'{1}')",
                                TextBoxid.Text, TextBoxpsw.Text);
    OleDbCommand objCommand = new OleDbCommand(sql ,objConnection);改成这样试试,假设你数据库中的ID是整型, psw是字符型。如果psw也是整型,则把格式化串中的'{1}'的单引号去掉,改成{1}。
      

  3.   

    你这样加参数的话需要objCommand.Parameters.Add()把参数的值加进去OleDbCommand objCommand = new OleDbCommand("insert into zhuce(ID, psw) values(@TextBoxid,@TextBoxpsw)",objConnection); 
    objCommand.Parameters.Add("@Textboxid", SqlDbType.VarChar, 16, "Description");
    ....