编写一个winform程序,access数据库,后台对数据库操作的时候,update一条记录,没有变化,求助。
classDataUse{staticstringstr=ConfigurationManager.ConnectionStrings["ConnectionString...
class DataUse
{
static string str = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();
static OleDbConnection myConnection = new OleDbConnection(str);
public DataTable Select(string strCommandText)
{
try
{
myConnection.Open();
OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText, myConnection);
OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater);
DataSet myDataset = new DataSet();
myAdpater.Fill(myDataset);
DataTable mytable = myDataset.Tables[0];
return mytable;
}
catch(Exception ex)
{
throw (ex);
}
finally
{
myConnection.Close();
}
}
public void ExcSQL(string strCommandText)
{
try
{
OleDbCommand myCommand = new OleDbCommand(strCommandText, myConnection);
myConnection.Open();
myCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
ex.ToString();
}
finally
{
myConnection.Close();
}
}
}
上面是我写的类,
du.ExcSQL("update tblDangYuanInfo set XingMing='林亮亮2' where ShenFenZhengHao='370881820916682'");
这句是后台代码,但是执行之后数据库依然不改变。 展开
{
static string str = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();
static OleDbConnection myConnection = new OleDbConnection(str);
public DataTable Select(string strCommandText)
{
try
{
myConnection.Open();
OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText, myConnection);
OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater);
DataSet myDataset = new DataSet();
myAdpater.Fill(myDataset);
DataTable mytable = myDataset.Tables[0];
return mytable;
}
catch(Exception ex)
{
throw (ex);
}
finally
{
myConnection.Close();
}
}
public void ExcSQL(string strCommandText)
{
try
{
OleDbCommand myCommand = new OleDbCommand(strCommandText, myConnection);
myConnection.Open();
myCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
ex.ToString();
}
finally
{
myConnection.Close();
}
}
}
上面是我写的类,
du.ExcSQL("update tblDangYuanInfo set XingMing='林亮亮2' where ShenFenZhengHao='370881820916682'");
这句是后台代码,但是执行之后数据库依然不改变。 展开
展开全部
以上回答 都可以验证
要是执SQL语句,数据库数据没变化[刷新数据库数据依然没变化],可以将SQL语句在数据库里执行,看下执行结果,与影响行数!
在程序代码中,尽量不要捕捉与SQL相关的异常,采取捕捉后,就看不到执行异常所在了!
SQL 语句尽量采取必要的缩进。
要是执SQL语句,数据库数据没变化[刷新数据库数据依然没变化],可以将SQL语句在数据库里执行,看下执行结果,与影响行数!
在程序代码中,尽量不要捕捉与SQL相关的异常,采取捕捉后,就看不到执行异常所在了!
SQL 语句尽量采取必要的缩进。
追问
都不行啊
追答
查看下连接是否open 了
进行断点调试,进行追踪啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先将 这个 语句在Access 里面执行 看是否成功
update tblDangYuanInfo set XingMing='林亮亮2' where ShenFenZhengHao='370881820916682'
update tblDangYuanInfo set XingMing='林亮亮2' where ShenFenZhengHao='370881820916682'
更多追问追答
追问
在里面是执行成功了的
追答
mdb文件是否是 只读
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接收结果 int i= myCommand.ExecuteNonQuery();
看一下是否执行成功
看一下是否执行成功
更多追问追答
追问
还是不行
追答
当然不行了...
我的意思是检测一下错误出在哪
如果i=0的话有可能是你连接数据库的问题
检查一下你的数据库连接字符串,看有没有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询