首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# 登入功能 SQL 語法錯誤:多餘逗號導致異常

     編輯:程式設計疑難解答

錯誤代碼


string cmd = "select User_Name,User_Pass,from UserData"; // ❌ 多餘逗號
SqlCommand com = new SqlCommand(cmd, conConnection);

錯誤訊息


System.Data.SqlClient.SqlException: 'Incorrect syntax near the keyword 'from'.'

修正:移除欄位列表最後的逗號


string cmd = "select User_Name, User_Pass from UserData"; // ✅

進階:參數化查詢防止 SQL 注入


string cmd = "select User_Name, User_Pass from UserData where User_Name = @user";
using (SqlCommand com = new SqlCommand(cmd, conConnection)) {
    com.Parameters.AddWithValue("@user", inputUserName);
    using (SqlDataReader reader = com.ExecuteReader()) {
        if (reader.Read()) {
            string dbPass = reader["User_Pass"].ToString();
            // 驗證密碼(建議用雜湊比對)
        }
    }
}

最佳實踐清單

  • ✅ **永遠使用參數化查詢**,拼接字串極易注入。
  • ✅ 密碼**儲存雜湊值**(BCrypt/Argon2),不存明文。
  • ✅ using 區塊自動釋放連線/Reader。
  • ✅ 連線字串放 appsettings.json / web.config,勿硬編碼。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved