我在Winform程序关闭时,把数据写入数据库,关闭程序后,再打开数据库,确认了数据已写入。打开程序时有个读取数据的动作,但打开程序后,发现什么也读取不到,再打开数据库时,发现数据都没有了!有高手知道这是怎么回事吗?我估计应该是在打开数据库时出现了问题打开数据库的代码:
public static OleDbConnection DataConn()
{
string strg = Application.StartupPath.ToString(); strg += @"\Appointment.mdb"; return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strg);
} public static OleDbDataReader SearchAppoint()
{
OleDbConnection con = DataConn(); con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandText = "select * from [Appointment] "; OleDbDataReader reader = cmd.ExecuteReader(); return reader; }
public static OleDbConnection DataConn()
{
string strg = Application.StartupPath.ToString(); strg += @"\Appointment.mdb"; return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strg);
} public static OleDbDataReader SearchAppoint()
{
OleDbConnection con = DataConn(); con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandText = "select * from [Appointment] "; OleDbDataReader reader = cmd.ExecuteReader(); return reader; }
解决方案 »
- ★★★获取字符串重复次数与字符串名称★★★
- 如何尝试2次操作,然后catch()???
- 求算法,提高速度,读取文件时判断相同行
- 关于事件处理的问题(分数少,但已经倾家荡产了!)
- 在winfowm上运行的remoting程序(客户端、服务器端)可以运行,但利用webform客户端调用服务器端就出错,大家帮助。
- buffer = client.Receive(ref hostPoint); udpclient client
- 初学:web form控件 datagrid,header的高度,怎么不听使唤?
- 如何输出当前时间? (精确到毫秒)
- 网桥工具软件让你轻松拥有自己的WEB服务
- string[]在哪里继承的IEnumerable<T>?
- 求解上传图片进数据库问题?
- 三层架构 结果服务器端发布的和本机运行结构不一样
写入代码是?
返回后,你怎么取值的?代码?
{
int affectrow;
OleDbConnection con = DataConn(); OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandText = string.Format("Insert into [Appointment] values('{0}','{1}','{2}','{3}','{4}')",startDate ,endDate ,Color,Subject,Description ); con.Open();
affectrow = cmd.ExecuteNonQuery();
con.Close(); return affectrow; }关闭程序后,我直接打开Access来确认数据是否已经写入至于打开程序读取数据的代码,已经在一楼给出
很有可能,放到debug文件夹里,不要放到源文件那里
问题是, 你说的“引入” 是什么意思?如果连接数据库的话 只需要把mdb文件放在一个固定的目录里, 是不是debug 没有关系, (当然 ,放在debug 文件夹中, 可以使用application path 来找到它, 还是比较方便的 )你先试试, 看能不能成功连接到mdb 数据库, 调试下, 如果能连接的话, 调试看看affectrow 是多少
如果确定 affectrow 大于0 你再来问问。
最近搞access 头大
strg = strg.Substring(0, strg.LastIndexOf("\\"));
strg = strg.Substring(0, strg.LastIndexOf("\\")); strg += @"\Appointment.mdb"; return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strg);
但还是很好奇为什么会这样,还有怎么把引入数据库的路径设置为在Debug文件夹下,而不是根目录?