Sql server 2008 如何将记录插入SQLServer2008数据库?
我无法将注册Web表单中的数据插入sqlserver-2008。我在VS中遇到错误:连接未关闭。连接的当前状态为“打开” 以下是我的代码:Sql server 2008 如何将记录插入SQLServer2008数据库?,sql-server-2008,sql-server-2008-r2,Sql Server 2008,Sql Server 2008 R2,我无法将注册Web表单中的数据插入sqlserver-2008。我在VS中遇到错误:连接未关闭。连接的当前状态为“打开” 以下是我的代码: protected void buttonRegister(object sender, EventArgs e) { SqlConnection objCon = new SqlConnection(strCon); try { objCon.ConnectionString = strCon; o
protected void buttonRegister(object sender, EventArgs e)
{
SqlConnection objCon = new SqlConnection(strCon);
try
{
objCon.ConnectionString = strCon;
objCon.Open();
}
catch (Exception ex)
{
this.lblConnect.Text = "Unable to connect to database.";
}
if (objCon.State == System.Data.ConnectionState.Open)
{
Session["users"] = this.txtUsername.Text;
Session["pwd"] = this.txtPassword.Text;
lblConnect.Text = "Connected";
string sql = @"INSERT INTO user (firstname, middlename, lastname, username, email, password) VALUES ('" + txtFirstname.Text
+ "' , '" + txtMiddlename.Text + "', '" + txtLastname.Text + "', '" + txtUsername.Text + "', '" + txtEmailAddr.Text
+ "', '" + txtPassword.Text + "')";
objCon.Open();
SqlCommand cmd = new SqlCommand(sql, objCon);
cmd.ExecuteNonQuery();
SqlDataReader rd = cmd.ExecuteReader();
objCon.Close();
objCon.Dispose();
}
else
{
lblConnect.Text = "Unable to connect to database.";
objCon.Close();
objCon.Dispose();
}
objCon.Close();
objCon.Dispose();
}
知道为什么它没有插入SQL Server吗?请帮忙!非常感谢您的帮助。在我看来,您是在第二次打开
objCon
。如果确保它已打开,则在分配sql字符串后再次尝试打开它
您有以下情况:
if (objCon.State == System.Data.ConnectionState.Open)
然后,在该条件下,您可以说objCon.Open()代码>
消除有问题的objCon.Open()代码>嗨!如果你想在文章中包含源代码,你应该把它缩进四个空格,这样它的格式就会正确。或者,您可以选择所有代码,然后单击带有大括号的按钮:),考虑使用表适配器。您的代码按原样接受SQL注入。非常危险@弗拉维奥茨:我觉得这像是意大利面。我想他只是想了解DB连接是如何工作的。你是绝对正确的,关于:SQL注入,但他现在最好保持简单,IMHO。谢谢。我把那个复制品处理掉了,插页看起来很有效。我的表中有一个主键id,我的sql语句是字符串sql=@“插入flightuser(id、firstname、middlename、lastname、用户名、电子邮件、密码)值(“+”2“+”、“+txtFirstname.Text+”、“+TXTDirstName.Text+”、“+txtLastname.Text+”、“+txtLastname.Text+”、“+TXTSterName.Text+”、“”+txtmailaddr.Text+“,”,“+txtmailaddr.Text+”)”;我该如何做才能不必指定id?我不知道你的评论是什么。如果您的PK是一个自动编号,而您可能不应该显式地为其设置值。如何在每次插入新记录时将id设置为自动递增?