[英]Incorrect Syntax Near 'Student'
我試圖創建一個允許變量賦值的函數,但我不斷收到錯誤消息:
private static void DatabaseSelect(string ToBeSelected, string WhichTable, string Equality1, string Equality12)
{
SqlConnection con = new SqlConnection(@"Connection");
var dataSet = new DataSet();
var cmd = new SqlCommand("SELECT Firstname FROM Student WHERE User_ID = '" + "001" + "'", con);
//var cmd = new SqlCommand("SELECT '"+ToBeSelected+"' FROM '"+WhichTable+ "' WHERE '"+Equality1+"' = '"+Equality12+"'", con);
var dataAdapter = new SqlDataAdapter { SelectCommand = cmd };
dataAdapter.Fill(dataSet);
Console.WriteLine( dataSet.Tables[0].Rows[0][ToBeSelected].ToString());
}
當我用線
var cmd = new SqlCommand("SELECT Firstname FROM Student WHERE User_ID = '" + "001" + "'", con);
從理論上講,當變量與上一行相同的字符串時,應與該行相同
var cmd = new SqlCommand("SELECT '"+ToBeSelected+"' FROM '"+WhichTable+ "' WHERE '"+Equality1+"' = '"+Equality12+"'", con);
但是,當我嘗試運行下面的行時,它給出了錯誤消息(在該行處為Filling dataAdapter):
“在System.Data.dll中發生了類型為'System.Data.SqlClient.SqlException'的未處理異常。附加信息:'Student'附近的語法不正確。”
如果我不清楚,請這樣說。感謝您的幫助。
我確實看到您的MySQL語法有一些問題
SELECT '"+ToBeSelected+"' FROM '"+WhichTable+ "' WHERE '"+Equality1+"' = '"+Equality12+"'"
應轉換為以下MySQL語句:
SELECT 'ColumnName' FROM 'TableName' WHERE 'ColumnName2' = 'SomeValue'"
我看到的第一個問題是所有單引號。.列名,表名應該用“打勾”(1左邊的按鈕)而不是單引號引起來。
我將從這里開始,我現在正在進一步閱讀您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.