我正在编写一个患者预约应用程序,当我点击我的按钮时,它应该在Day1列下的365天(从今天起)添加到我的Access文件中。
现在,它之前正在运作,但现在它给了我一个错误。
未处理的类型' System.ArgumentException'发生在System.Data.dll
中附加信息:初始化字符串的格式不符合从索引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天?
感谢。
答案 0 :(得分:1)
在顶部导入
System.Data.OleDb;
private void button3_Click(object sender, EventArgs e)
{
DateTime a = dateTimePicker1.Value.Date;
using(OleDbConnection conn = new
OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\Users\Kolton\Desktop\Doctor App\Database1.accdb"))
{
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 + "')";
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
}
答案 1 :(得分:0)
要回答您的奖励问题,您可以直接访问UPDATE查询:
UPDATE table SET newvalue WHERE criteria;
所以答案看起来像这样:
UPDATE Sample set Field1 = DateAdd('d', 365, Field1)
注意:我同意gunr2171,等号可能是问题。 Upvoted