Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过DataGrid删除访问文件行_C#_Database_Datagrid - Fatal编程技术网

C# 通过DataGrid删除访问文件行

C# 通过DataGrid删除访问文件行,c#,database,datagrid,C#,Database,Datagrid,我目前正在学习删除文件并将其更新到access数据库(mdb)中。 但是我遇到了一个我无法解决的错误 我的数据库由6列组成。目前的相关列为“ID”和“日期”。ID是一个带有自动递增主键的文本字段,日期是一个普通文本字段(dd.MM.yyyy) 我可以通过选择一个ID来删除行。(通过将ID放入文本字段完成选择) 现在我想去掉整个ID,因为我在数据库中并不真正需要它,而是想按实际日期(只存在一次)选择行。 但如果我尝试按日期选择,我会遇到 查询表达式“Date=29.10.201”中的Syntaxe

我目前正在学习删除文件并将其更新到access数据库(mdb)中。 但是我遇到了一个我无法解决的错误

我的数据库由6列组成。目前的相关列为“ID”和“日期”。ID是一个带有自动递增主键的文本字段,日期是一个普通文本字段(dd.MM.yyyy)

我可以通过选择一个ID来删除行。(通过将ID放入文本字段完成选择)

现在我想去掉整个ID,因为我在数据库中并不真正需要它,而是想按实际日期(只存在一次)选择行。 但如果我尝试按日期选择,我会遇到

查询表达式“Date=29.10.201”中的Syntaxerror的编号

我不知道为什么2015会缩短,所以我没有使用“dateTimePicker1.Text”,而是将dateTimePicker值转换为字符串并拆分,然后只返回日期,但它得到了相同的错误

以下是我用于拆分的代码:

string date = dateTimePicker1.Value.ToString().Split(' ')[0];
con.Open();
OleDbCommand command = new OleDbCommand();
command.Command.Text = "delete from " + user + " where Date =" + date + " ";
command.ExecuteNonQuery;
con.Close();
这是我以前用过的代码

command.Command.Text = "delete from " + user + " where Date =" + dateTimePicker1.Text + " ";

提前感谢您的回答。:)

文本日期需要像字符串一样转义,即
。。。其中日期='2015-10-29'
。还要确保SQL命令中的日期格式


调用
ExecuteNonQuery
之前是否检查了
command.command.Text

因此,当使用调试器时,当您跨过此行
string date=dateTimePicker1.value.ToString().Split(“”)[0]时,
datee
的值是多少还有,为什么不捕获DateTimePicker的值,并将该datetime值转换为没有时间的格式化日期?作为字符串值..将字符串日期更改为以下
var date=dateTimePicker1.value.ToSortDateString()或执行此操作
var date=dateTimePicker1.Value.ToString(“MM dd yyyy”)@MethodMan谢谢你的回答。如果我给文本框赋值,我会得到实际日期(2015年10月29日,带拆分)。转换后的datetime值(之后由您建议)也会出现同样的错误。很遗憾,请查看该日期值,并询问自己数据库中的日期格式。。是yyyy-MM-dd格式,dd-MM-yyyy您试图更新的字段的数据类型是什么。。您的命令应该是以下
command.command.Text=“从用户删除,其中Date=“+dateTimePicker1.Value.ToString(“MM-dd-yyyy”)
如果您获得的日期为
2015年10月29日
,则数据库中存储的日期是否包含
。。?如果没有,则使用
.ToString()
方法末尾的replace函数,如
.ToString(“MM dd yyyy”)。replace(“.”,“-”)谢谢你的回答。你是说数据库中日期的格式吗?(保存为textfield)或c#?