C# 无法在上次查询时将数据添加到我的数据库中

C# 无法在上次查询时将数据添加到我的数据库中,c#,sql,sql-server,C#,Sql,Sql Server,为什么我不能在最后一次查询中添加值(EventEndDate) 您在上一个条目中遗漏了一个引号”: ," + EventEndDate.Text + " 这应该是: ,'" + EventEndDate.Text + "' 然而,这种字符串连接是开放的。试试看。大概是这样的: string insertQuery = "INSERT INTO eventreservation(EventID,CustomerName,CustomerIC," +

为什么我不能在最后一次查询中添加值(
EventEndDate


您在上一个条目中遗漏了一个引号

," + EventEndDate.Text + "
这应该是:

,'" + EventEndDate.Text + "'
然而,这种字符串连接是开放的。试试看。大概是这样的:

string insertQuery = "INSERT INTO eventreservation(EventID,CustomerName,CustomerIC," +
                             "CustomerPhone,StartDate,EndDate)VALUES(@EventID,@CustomerName," +
                             "CustomerIC,@CustomerPhone,@StartDate,@EndDate)";
insertCommand.Parameters.AddWithValue(@EventID,txtEventID.Text);
//Other parameters
尽管直接指定类型并使用
Value
属性比
AddWithValue
更好:

insertCommand.Parameters.Add("@EventID", SqlDbType.VarChar).Value = txtEventID.Text;

您在上一个条目中遗漏了一个引号

," + EventEndDate.Text + "
这应该是:

,'" + EventEndDate.Text + "'
然而,这种字符串连接是开放的。试试看。大概是这样的:

string insertQuery = "INSERT INTO eventreservation(EventID,CustomerName,CustomerIC," +
                             "CustomerPhone,StartDate,EndDate)VALUES(@EventID,@CustomerName," +
                             "CustomerIC,@CustomerPhone,@StartDate,@EndDate)";
insertCommand.Parameters.AddWithValue(@EventID,txtEventID.Text);
//Other parameters
尽管直接指定类型并使用
Value
属性比
AddWithValue
更好:

insertCommand.Parameters.Add("@EventID", SqlDbType.VarChar).Value = txtEventID.Text;


不要使用字符串来生成SQL,使用参数,不要将日期存储为文本,请阅读并记录。请澄清您的问题。告诉这里你需要什么。我的上一次查询没有插入值[EventEndDate],它在数据库上给我0000-00-00可能有用。Ty为了帮助,这帮助我创建SQL,使用参数,从不将日期存储为文本,请阅读并回答。请澄清你的问题。告诉这里你需要什么。我的上一个查询没有插入值[EventEndDate],它在数据库上给我0000-00-00可能有用。Ty为了帮助我,这帮了我很多。我已经尝试过了。中的值仍然为0000-00-00database@GrimoriaGrimore请尝试答案的参数化查询版本。它应该可以工作。@GrimoriaGrimore似乎
EndDate
属于
DateTime
类型,如果是这样,您需要将其转换为
DateTime
,如下所示:
convert.ToDateTime(EventEndDate.Text)
@GrimoriaGrimore或直接指定类型并使用
Value
属性。检查我的更新答案。但是EventStartDate查询工作正常,它与EventEndDate具有相同的类型。请尝试。中的值仍然为0000-00-00database@GrimoriaGrimore请尝试答案的参数化查询版本。它应该可以工作。@GrimoriaGrimore似乎
EndDate
属于
DateTime
类型,如果是这样,您需要将其转换为
DateTime
,如下所示:
convert.ToDateTime(EventEndDate.Text)
@GrimoriaGrimore或直接指定类型并使用
Value
属性。检查我的更新答案。但是EventStartDate查询工作正常,它与EventEndDate具有相同的类型