gpt4 book ai didi

c# - 在 SQL 表中插入数据时出错

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:39 24 4
gpt4 key购买 nike

我正在尝试通过 c# 代码将数据插入表中(比如反馈),其中包含来自 (int) 和 Message(Varchar(MAX)) 的列,但它不断地让我因错误而烦恼。请帮忙,我很绝望。

表说明:
来自 int,Message Varchar(max)

我正在使用的代码:

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["SampleConnectionString"].ConnectionString);
con.open;
string query="insert into Feedback (From,Message) values(@frm,@msg)";
SqlCommand comm = new SqlCommand(query, con);
comm.Parameters.AddWithValue("@frm", Convert.ToInt32(TextBoxid.Text));
comm.Parameters.AddWithValue("@msg",TextBoxFeedBack.text);

comm.ExecuteNonQuery();
con.Close();

我得到的错误是

System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near the keyword 'From'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at _Default.Button1_Click(Object sender, EventArgs e) in c:\Users\Ajaz\Documents\Visual Studio 2010\WebSites\WebSite26\Default.aspx.cs:line 29



我猜有与数据不匹配有关的错误。请帮忙。
谢谢

最佳答案

FROMreserved keyword在 TSQL 中。您应该将它与方括号一起使用,例如 [FROM]

string query="insert into Feedback ([From],Message) values(@frm,@msg)";

作为一般建议,不要对数据库中的标识符和对象名称使用保留关键字。

也可以使用 using statement处置您的 SqlConnection喜欢;
string query = "insert into Feedback ([From],Message) values(@frm,@msg)";
using(SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["SampleConnectionString"].ConnectionString))
{
SqlCommand comm = new SqlCommand(query, con);
comm.Parameters.AddWithValue("@frm", Convert.ToInt32(TextBoxid.Text));
comm.Parameters.AddWithValue("@msg",TextBoxFeedBack.text);
con.Open();
comm.ExecuteNonQuery();
con.Close();
}

关于c# - 在 SQL 表中插入数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com