簡體   English   中英

'學生'附近的語法不正確

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM