【发布时间】:2015-03-13 19:26:16
【问题描述】:
我正在编写一个患者预约应用程序,当我单击按钮时,它应该在第 1 列下的 Access 文件中添加 365 天(从今天开始)。
现在,它以前可以工作,但现在它给了我一个错误。
System.Data.dll 中出现“System.ArgumentException”类型的未处理异常
附加信息:初始化字符串的格式不符合从索引 34 开始的规范。
代码:
private void button3_Click(object sender, EventArgs e)
{
DateTime a = dateTimePicker1.Value.Date;
HERE-> System.Data.OleDb.OleDbConnection conn = new
System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data
SourceC:\Users\Kolton\Desktop\Doctor App\Database1.accdb"); <- TO HERE
conn.Open();
for (int i = 0; i < 366; i++)
{
DateTime b = a.AddDays(i);
string c = b.ToShortDateString();
using (System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand())
{
cmd.Connection = conn;
cmd.CommandText = "Insert Into Times (Date1) values ('" + c + "')";
cmd.ExecuteNonQuery();
}
}
}
感谢任何帮助。
还有,想在这里一石二鸟。作为一个额外的问题,是否可以让这个按钮删除列 (Date1) 下的所有行,然后让它添加 365 天?
谢谢。
【问题讨论】:
-
“数据源”之后没有
=,您可能需要用某种引号将路径括起来。 -
请使用参数化查询来防止 SQL 注入
-
@gunr2171 在所有“数据源”之后我都有一个 = 并且不会造成问题。编辑:我觉得很愚蠢,我没有意识到你指的是我没有。
-
另外,@Sybren 我有意为本地机器制作这个程序。它不会在线使用。
-
@gunr2171 提交答案,以便我将其标记为正确。它奏效了。
标签: c# ms-access visual-studio-2013 windowsformsintegration