C#+Access 程序中插入数据成功,数据库中却没有数据

来源:百度知道 编辑:UC知道 时间:2024/09/23 20:26:32
public bool NewTeacherPlan(string PlanTitle, string PlanContext, int ClassID, string Course)
{
OleDbConnection con = new OleDbConnection(_ConnectionString);
OleDbCommand cmd = new OleDbCommand("INSERT INTO [TeacherPlans] ([TeaPlanTitle],[TeaPlanContext],[ClassID],[Course],[CreateDate]) VALUES (@PlanTitle,@PlanContext,@ClassID,@Course,@CreateDate)", con);
cmd.Parameters.Add("@PlanTitle", OleDbType.VarChar).Value=PlanTitle;
cmd.Parameters.Add("@PlanContext", OleDbType.VarChar).Value = PlanContext;
cmd.Parameters.Add("@ClassID", OleDbType.TinyInt).Value = ClassID;
cmd.Parameters.Add("@Course",OleDbType.VarChar).Value=Course;
cmd.Parameters.Add("@CreateDate", OleDbType.Date).Value=DateTime.Now;
con.Open();
int k = 0;
k = cmd.ExecuteNonQuery();

你的问题楼上已经解决了
access数据库真正被改数据的是你debug下面的 每当你用VS2005运行调试程序都会从你指定的目录拷贝一份到debug下面 希望你直接运行debug下面的exe文件 你会发现没错的
这是一个很常见的问题 第一次用access都会碰到的

这个问题我同学也遇到过,确实是有此事情的,很奇怪!我看了看,代码没有错的,可能你电脑上面的ACCESS数据库装的是绿色版的吧!建议你重新安装一下原版的ACCESS2003,这样就可以啦!

ACCESS 的 MDB 数据库,在你每次调式的时候, 都会重新拷贝一个到调式运行的目录,覆盖掉原来的。 所以,你如果只是看 app_data目录下的话,当然是没有数据了。 需要到 bin/debug 或 bin/release 目录下去看,肯定有的。

你在调试程序的时候,会在你的工程文件假下的bin/debug下生成解决方案程序,那里面会有数据库文件。你更改的应该是那下面的Access数据库,但是你关闭程序后在工程里面检查或者浏览的数据,应该是你工程文件夹下的数据库。
有问题可以继续提出。

把cmd.Parameters.Add("@CreateDate", OleDbType.Date).Value=DateTime.Now;
改为cmd.Parameters.Add("@CreateDate", OleDbType.DBTimeStamp).Value=DateTime.Now.toString();

您是不是直接测试的?Ctrl+F5??
或者F5调试的>??
如果是那你的问题很简单,发布之后再运行
因为vs测试的时候你的数据都会被初始化,包括数据库,所以每次数据库都是最初状态,也就是没插入数据之前的状态