如何将用户提供的输入添加到SQL语句中?

如何将用户提供的输入添加到SQL语句中?

我试图使用用户提供的数据创建一个SQL语句。我使用的代码类似于C#中的代码:

var sql = "INSERT INTO myTable (myField1, myField2) " +
          "VALUES ('" + someVariable + "', '" + someTextBox.Text + "');";var cmd = new SqlCommand(sql, myDbConnection);
          cmd.ExecuteNonQuery();

在VB.NET中:

Dim sql = "INSERT INTO myTable (myField1, myField2) " &
          "VALUES ('" & someVariable & "', '" & someTextBox.Text & "');"Dim cmd As New SqlCommand(sql, myDbConnection)
          cmd.ExecuteNonQuery()

然而,

  • 当用户输入包含单引号时,这将失败。

    O'Brien),

  • 在插入日期时间值和
  • 人们一直告诉我,我不应该这样做,因为“SQL注入”。

我该怎么做“正确的方式”?


慕少森
浏览 678回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP