我做了两个窗体,mainform和addform,mainform上有一个添加按钮,当点击添加时,弹出addform窗体,addform上有一个保存按钮和几个文件框(输入数据用的).当点保存,数据好像存到数据库去了,但当你退出程序时,再打开access数据库进行查看,里面根本没有数据.这是为什么?
解决方案 »
- C# datatable 插入数据库
- 在给griview绑定数据源时,sql语句的问题
- 如何实现setTimeOut功能?
- 代码和可执行文件复制到其他机器上就报错"没有应用程序与此操作的指定文件有关联"
- 请高手门看看这段代码连接SQL SERVER 数据库时出错了,错在 objConn.Open();这一行,我不知道错误的原因,应如何改?
- 有人说给CS文件写注释,SourceSafe每次check out或者check in时,这个注释就会自动更新
- 一个关于oraclelob的问题,请大侠们帮忙,在线等
- 如何使得页面总是显示在最上面。
- 请问C#中怎么进行复数运算
- 如何知道我计算机上哪些目录是已经共享了的?
- winsocket的问题
- 在一个方法中怎么调用另一个方法的DataSet???
也可能是更新语句不对。。检查一下。
出现的现象是,关闭子程序时不出任何问题,但当关闭mainform再重新打开时,数据库里面的数据全没有了。
好烦呀,以前从没有碰过,搞了好几天了都没有搞定.
public void insertfriend(string name,string email,string phone,string birthday,string qqormas)//添加朋友信息
{
DateTime time =DateTime.Now;
OleDbConnection con = DB.CreateConofAccess();
OleDbCommand cmd = new OleDbCommand("insert into friend_T values(@name,@email,@phone,@birthday,@updatetime,@qqormsn)",con);
cmd.Parameters.Add("@name", OleDbType.VarChar).Value = name;
cmd.Parameters.Add("@email", OleDbType.VarChar).Value = email;
cmd.Parameters.Add("@phone", OleDbType.VarChar).Value = phone;
cmd.Parameters.Add("@birthday", OleDbType.VarChar).Value = birthday;
cmd.Parameters.Add("@updatetime", OleDbType.Date).Value = time;
cmd.Parameters.Add("@qqormsn", OleDbType.VarChar).Value = qqormas;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
} 如果执行cmd.ExecuteNonQuery(); 返回的值(也就是SQL语句影响的行数)大于0,则表示数据库插入成功,返回True,然后在Click事件中设置一个断点来调试看看返回的结果是True还是False,这样的话,你可能会排除到底是不是执行SQL产生这样的问题。你说的关闭mainform应该不会影响这个SQL语句操作数据库的结果吧!因为你点击保存就已经对数据库进行操作了。结果也出来了。
会不会跟你数据库的模式有关?我对ACCESS不太熟.
下面是连接字符串:
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./pnotebook.mdb;");
return con;