我正在尝试将数据插入表中,我看到的代码片段似乎对那个人有用,但对我却有用! 我不知道我做错了什么,因为我不知道 asp.net 的数据库处理。有人可以告诉我代码有什么问题吗?
public partial class CompanyLogin : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = @".\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\VCtemps.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
string sql = "insert into company values(@CompName, @BusinessType, @Pword)";
OdbcCommand cmd = new OdbcCommand(sql);
string CompName = txtCompName.Text;
string BusinessType = DropDownList1.Text;
string Pword = txtPassword.Text;
cmd.Connection = conn;
cmd.CommandText = "insert into company(CompName, BusinessType, Pword) Values(@CompName,@BusinessType,@Pword);";
cmd.Parameters.AddWithValue("@CompName",SqlDbType.VarChar);
cmd.Parameters.AddWithValue("@BusinessType",SqlDbType.VarChar);
cmd.Parameters.AddWithValue("@Pword",SqlDbType.VarChar);
cmd.ExecuteNonQuery();
conn.Close();
txtCompName.Text = "";
txtPassword.Text = "";
DropDownList1.Text = "";
}
}
感谢你们,我修复了代码,但是当我运行它或者当我点击注册按钮时,我得到以下错误
ExecuteNonQuery 需要一个打开且可用的连接。连接的当前状态是关闭的
最佳答案
您可以调整查询 - 通过删除值
cmd.CommandText = "insert into company(CompName, BusinessType, Pword) values('"+ CompName + "','"+ BusinessType + "','" + Pword + "')
注意:我建议您也使用SqlCommand.Parameters.AddWithValue 方法
并添加这段代码:
cmd.CommandText = "insert into company(CompName, BusinessType, Pword) Values(@CompName,@BusinessType,@Pword);"
cmd.Parameters.AddWithValue("@CompName",);
cmd.Parameters.AddWithValue("@BusinessType",);
cmd.Parameters.AddWithValue("@Pword",);
cmd.ExecuteNonQuery();
关于c# - 将数据插入带有文本框的数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12841584/