![](/img/trans.png)
[英]How to fix System.Data.SqlClient.SqlException: 'Incorrect syntax near ''.'
[英]How can I fix a SqlException incorrect syntax error in my code?
這是引用 SQL Server 數據庫以檢索要放入DataGridView
。
我收到一個錯誤:
SqlException [不正確的語法]
代碼:
private void DisplayData()
{
adapt = new SqlDataAdapter("SELECT geoCode, cancer2004" +
"FROM Regional_Intel$" +
"WHERE geoCode LIKE '" + txtDMA.Text + "'", con);
// cmd.Parameters.AddWithValue("@dma", txtDMA.Text);
dt = new DataTable();
adapt.Fill(dt);
dataGridView1.DataSource = dt;
}
我該如何解決?
在 SQL 字符串中添加空格。 此外,使用字符串連接非常糟糕。
像這樣添加空格:
{
adapt = new SqlDataAdapter("Select geoCode, cancer2004 " +
"FROM Regional_Intel$ " +
"where geoCode LIKE '" + txtDMA.Text + "'", con);
//cmd.Parameters.AddWithValue("@dma", txtDMA.Text);
dt = new DataTable();
adapt.Fill(dt);
dataGridView1.DataSource = dt;
}
使用這樣的參數:
{
adapt = new SqlDataAdapter("Select geoCode, cancer2004 " +
"FROM Regional_Intel$ " +
"where geoCode LIKE @dma", con);
adapt.SelectCommand.Parameters.Add("@dma", SqlDbType.NVarChar).Value = txtDMA.Text;
dt = new DataTable();
adapt.Fill(dt);
dataGridView1.DataSource = dt;
}
分離出你的 SQL 字符串:
{
var query = @"
SELECT geoCode, cancer2004
FROM Regional_Intel$
WHERE geoCode LIKE @dma";
adapt = new SqlDataAdapter(query, con);
adapt.SelectCommand.Parameters.Add("@dma", SqlDbType.NVarChar).Value = txtDMA.Text;
dt = new DataTable();
adapt.Fill(dt);
dataGridView1.DataSource = dt;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.