C#+Access 程序中插入数据成功,数据库中却没有数据
publicboolNewTeacherPlan(stringPlanTitle,stringPlanContext,intClassID,stringCourse){O...
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();
if (k > 0)
{
con.Close();
return true;
}
return false;
}
执行该方法,调试返回的是true,K也是1,说明执行了,但是打开数据库里面却没有数据,请问高手该如何解决??
确定核实了,我都核实了一天了,绝对数据库没错,表也没错
确实成功插入了,只是数据库里没数据,一关了程序,就读不到了,刚插进去的时候我还能用程序读到刚插的数据 展开
{
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();
if (k > 0)
{
con.Close();
return true;
}
return false;
}
执行该方法,调试返回的是true,K也是1,说明执行了,但是打开数据库里面却没有数据,请问高手该如何解决??
确定核实了,我都核实了一天了,绝对数据库没错,表也没错
确实成功插入了,只是数据库里没数据,一关了程序,就读不到了,刚插进去的时候我还能用程序读到刚插的数据 展开
9个回答
展开全部
这个问题我同学也遇到过,确实是有此事情的,很奇怪!我看了看,代码没有错的,可能你电脑上面的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();
改为cmd.Parameters.Add("@CreateDate", OleDbType.DBTimeStamp).Value=DateTime.Now.toString();
参考资料: http://www.wenzigg.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
您是不是直接测试的?Ctrl+F5??
或者F5调试的>??
如果是那你的问题很简单,发布之后再运行
因为vs测试的时候你的数据都会被初始化,包括数据库,所以每次数据库都是最初状态,也就是没插入数据之前的状态
或者F5调试的>??
如果是那你的问题很简单,发布之后再运行
因为vs测试的时候你的数据都会被初始化,包括数据库,所以每次数据库都是最初状态,也就是没插入数据之前的状态
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询