繁体   English   中英

SqlException:无效的列名,即使它不是该列

[英]SqlException: invalid column name even though it's not the column

我正在尝试将基本数据插入我的MSSQL数据库,但我一直收到此错误:

System.Data.SqlClient.SqlException: 'Invalid column name 'Common'.
Invalid column name 'Bug'.
Invalid column name 'sac'.
Invalid column name 'sacas'.'

我的查询字符串是:

string query = "INSERT INTO dbo.RNMCommits ([Function], Date, Severity, ChangedBy, Changes)";
query += string.Format(" VALUES ({0}, {1}, {2}, {3}, {4})", function, date, severity, changedBy, changes);

我不理解该异常,它说列名Common, Bug, sac, sacas无效,但是我没有将它们用作列名。 我在INSERT语句中指出它应该使用([Function], Date, Severity, ChangedBy, Changes)";并插入VALUES VALUES ({0}, {1}, {2}, {3}, {4})", function, date, severity, changedBy, changes) ,这是common, bug, sac and scas.

这些值是字符串:

string function = comboBoxEdit_Function.SelectedItem.ToString();
string severity = comboBoxEdit_Severity.SelectedItem.ToString();
string changedBy = textEdit_ChangedBy.Text;
string date = dateEdit_Date.Text;
string changes = memoEdit_Changes.Text;

执行的整个方法:

    private void simpleButton_OK_Click(object sender, EventArgs e)
{
    string function = comboBoxEdit_Function.SelectedItem.ToString();
    string severity = comboBoxEdit_Severity.SelectedItem.ToString();
    string changedBy = textEdit_ChangedBy.Text;
    string date = dateEdit_Date.Text;
    string changes = memoEdit_Changes.Text;

    SqlConnection cnn;
    string connectionString = "Data Source=localhost;Initial Catalog=L3T_Project_Assistent;User ID=xx;Password=xx";
    cnn = new SqlConnection(connectionString);
    cnn.Open();

    string query = "INSERT INTO dbo.RNMCommits ([Function], Date, Severity, ChangedBy, Changes)";
    query += string.Format(" VALUES ({0}, {1}, {2}, {3}, {4})", function, date, severity, changedBy, changes);

    SqlCommand myCommand = new SqlCommand(query, cnn);
    myCommand.ExecuteNonQuery();

    cnn.Close();
}

传递varchar/nvarchar/text值时,您需要将它们用单引号引起来:

string.Format(" VALUES ('{0}', '{1}', '{2}', '{3}', '{4}')"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM