ASp.net-向数据库添加新行

ASp.net-向数据库添加新行,asp.net,Asp.net,我已经用visualbasic编写了这段代码。执行时不会打印错误,但不会将新行添加到数据库中。我也尝试过使用数据集,但也没用。有什么想法吗 Dim conSQL As SqlConnection = New SqlConnection conSQL.ConnectionString = "Data Source=USER-PC\SQLEXPRESS;Initial Catalog=Phd;Integrated Security=True" conSQL.Open() D

我已经用visualbasic编写了这段代码。执行时不会打印错误,但不会将新行添加到数据库中。我也尝试过使用数据集,但也没用。有什么想法吗

Dim conSQL As SqlConnection = New SqlConnection
    conSQL.ConnectionString = "Data Source=USER-PC\SQLEXPRESS;Initial Catalog=Phd;Integrated Security=True"
    conSQL.Open()

    Dim cmd As New SqlCommand("Insert into Phd_Student(student_id,student_name,student_email) values ('" + idnotextbox.Text + "','" + studnametextbox.Text + "','" + studemailtextbox.Text + "')" , conSQL)

  cmd.ExecuteNonQuery()

1-您应该在执行命令之前打开连接

try
conSQL.open()
 Dim cmd As New SqlCommand("Insert into Phd_Student(student_id,student_name,student_email) values ('" + idnotextbox.Text + "','" + studnametextbox.Text + "','" + studemailtextbox.Text + "')" , conSQL)

  cmd.ExecuteNonQuery()
Finally
conSQL.close()
end try

2-您不应该以这种方式向查询传递参数,以避免SQL注入。

执行insert的结果只有两种;要么添加记录,要么得到异常。因此,在您的案例中,备选方案是:

  • 您显示的代码根本没有执行
  • 您正在捕获异常并忽略它
  • 您实际拥有的代码与您发布的代码有所不同
  • 您已经在数据库中创建了一个触发器来删除记录
  • 文本框中的一个值使用SQL注入删除附加值*

  • *)如果输入值<代码>-1','';删除id文本框中学生id='-1'-的博士生,这将添加一条记录,然后将其删除。

    首先,确保在cmd.ExecuteNonQuery()行之后调用conSQL.Close()