我想把图书信息插入数据库,插入的时候图书的类型采用DropDownList下拉框选择,图书的类型另外建了一张表,将DropDownList与数据绑定了,在这张信息表中与图书类型表中的ID进行关联,可是写插入语句的时候有错,见下面程序中红色的部分,请问那 =后面的语句怎么写才正确?
string Sqlstring = "Insert into BookInfo(BookName,PublishingHouse,Author,Translator,ISBN,PublishDate,Price,Description,suoyinhao,booktype)values(@dname,@dpublish,@dauthor,@dtranslator,@disbn,@dpublishdate,@dprice,@ddescription,@dsuoyinhao,@dbooktype)";
conn.Open();
SqlCommand cmd = new SqlCommand(Sqlstring, conn);
cmd.Parameters.Add("@dname", SqlDbType.VarChar, 80).Value = TextBox1.Text.ToString();
cmd.Parameters.Add("@dpublish", SqlDbType.VarChar, 80).Value = TextBox9.Text.ToString();
cmd.Parameters.Add("@dauthor", SqlDbType.VarChar, 80).Value = TextBox3.Text.ToString();
cmd.Parameters.Add("@dtranslator", SqlDbType.VarChar, 80).Value = TextBox7.Text.ToString();
cmd.Parameters.Add("@disbn", SqlDbType.VarChar, 80).Value = TextBox4.Text.ToString();
cmd.Parameters.Add("@dpublishdate", SqlDbType.VarChar,80).Value = TextBox8.Text.ToString();
cmd.Parameters.Add("@dprice", SqlDbType.VarChar, 80).Value = TextBox5.Text.ToString();
cmd.Parameters.Add("@ddescription", SqlDbType.Text, 16).Value = TextBox10.Text.ToString();
//cmd.Parameters.Add("@dcover", SqlDbType.VarChar, 50).Value = TextBox2.Text.ToString();
cmd.Parameters.Add("@dbooktype", SqlDbType.Int, 4).Value = Convert.ToInt32(DropDownList1.SelectedValue);
cmd.Parameters.Add("@dsuoyinhao", SqlDbType.VarChar,80).Value = TextBox6.Text.ToString();
cmd.ExecuteNonQuery();
Response.Write("<script>alert(\"添加成功\")</script>");
conn.Close();
Response.Write("<br><br><meta http-equiv='refresh' content='1;url=booklitterset.aspx'><br>");
运行后错误提示:
“/zd”应用程序中的服务器错误。
--------------------------------------------------------------------------------
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。
源错误:
行 69: cmd.Parameters.Add("@ddescription", SqlDbType.Text, 16).Value = TextBox10.Text.ToString();
行 70: //cmd.Parameters.Add("@dcover", SqlDbType.VarChar, 50).Value = TextBox2.Text.ToString();
行 71: cmd.Parameters.Add("@dbooktype", SqlDbType.Int, 4).Value = Convert.ToInt32(DropDownList1.SelectedValue);
行 72: cmd.Parameters.Add("@dsuoyinhao", SqlDbType.VarChar,80).Value = TextBox6.Text.ToString();
行 73: cmd.ExecuteNonQuery();
“/zd”应用程序中的服务器错误。
--------------------------------------------------------------------------------
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。
源错误:
行 69: cmd.Parameters.Add("@ddescription", SqlDbType.Text, 16).Value = TextBox10.Text.ToString();
行 70: //cmd.Parameters.Add("@dcover", SqlDbType.VarChar, 50).Value = TextBox2.Text.ToString();
行 71: cmd.Parameters.Add("@dbooktype", SqlDbType.Int, 4).Value = Convert.ToInt32(DropDownList1.SelectedValue);
行 72: cmd.Parameters.Add("@dsuoyinhao", SqlDbType.VarChar,80).Value = TextBox6.Text.ToString();
行 73: cmd.ExecuteNonQuery();
源文件: e:\zengdan\admin\booklitterset.aspx.cs 行: 71