db.BeginTrans();
try
{
string strsql1="insert into DBFMapPath (mappath,strtime) values (?,?)";
string[] strParams=new string[2]{"@mappath","@strtime"};
object[] objValues=new object[2]{""+filepath+"",""+DateTime.Now.ToShortDateString().ToString()+""};
Response.Write(strsql1);
db.exeSql(strsql1,strParams,objValues);
db.CommitTrans();
}
catch(Exception ex)
{
db.RollbackTrans();
Response.Write(ex.ToString());
}
db.Close();
public override void exeSql(string strSql, string[] strParams, object[] objValues)
{
OleDbCommand Cmd=new OleDbCommand();
Cmd.Connection=this.conn;
if(inTransaction)
Cmd.Transaction=trans;
if((strParams!=null)&&(strParams.Length!=objValues.Length))
throw new Exception("查询参数和值不对应!");
Cmd.CommandText=strSql;
if(strParams!=null)
{
for(int i=0;i<strParams.Length;i++)
{
Cmd.Parameters.Add(strParams[i],objValues[i]);
}
}
Cmd.ExecuteNonQuery();
}错误为System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。
try
{
string strsql1="insert into DBFMapPath (mappath,strtime) values (?,?)";
string[] strParams=new string[2]{"@mappath","@strtime"};
object[] objValues=new object[2]{""+filepath+"",""+DateTime.Now.ToShortDateString().ToString()+""};
Response.Write(strsql1);
db.exeSql(strsql1,strParams,objValues);
db.CommitTrans();
}
catch(Exception ex)
{
db.RollbackTrans();
Response.Write(ex.ToString());
}
db.Close();
public override void exeSql(string strSql, string[] strParams, object[] objValues)
{
OleDbCommand Cmd=new OleDbCommand();
Cmd.Connection=this.conn;
if(inTransaction)
Cmd.Transaction=trans;
if((strParams!=null)&&(strParams.Length!=objValues.Length))
throw new Exception("查询参数和值不对应!");
Cmd.CommandText=strSql;
if(strParams!=null)
{
for(int i=0;i<strParams.Length;i++)
{
Cmd.Parameters.Add(strParams[i],objValues[i]);
}
}
Cmd.ExecuteNonQuery();
}错误为System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。
解决方案 »
- JavaScript 除法,希望得到整数
- ScriptManager.RegisterStartupScript(UpdatePane, this.GetType(), "s", "alert('a')
- 控件行高问题
- 上传到服务器出现的一个小问题(答对马上给分!在线等)
- 求Menu 中MenuItem 的Css 样式?
- 可有好用的dbhelper,效率高点的,xiexiez
- 关于水晶报表的问题,我什么都不懂,希望大家帮帮我哈 谢谢~!
- 2个aspx页面,如何互相传递值?
- 在地上滚来滚去求高人相助!!!!vs.net c#
- 神思身份证阅读机,开发环境正常,发布到IIS后提示未授权
- 假设服务器支持 JRO组件,我在asp.net程序中还用不用在BIN目录下放一个 Interop.JRO.dll文件了?
- 为什么在模板中用 Server.HtmlEncode() 有错???
Sub ExeTransaction (Byval Sqlstrlist as string())
Dim Conn As String =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Tax.mdb"
Dim trans as OledbTransaction=Nothing
Try
If conn.State=connectionstate.closed then
Conn.open()
End if
Dim cmd as oledbCommand=new oledbcommand()
cmd.connection=conn
cmd.commandtype=commandtype.text
trans=conn.BeginTransaction()
cmd.Transaction=trans
dim I as integer
for I=0 to Sqlstrlist.GetupperBound(0)
cmd.commandText= Sqlstrlist(i) ‘取得参数(数组)中的值
cmd.ExecuteNonQuery()
Next
Trans.commit()
Catch ex as oledbexception
Trans.Rollback()
Fanlly
Conn.close()
End try
End sub
或者everyone完全控制