.net连接Sybase时,有时会遇到影响行数问题,下面就为您介绍一种.net连接Sybase的影响行数问题,如果您感兴趣的话,不妨一看。
工作中的一个项目用到了.net连接Sybase数据库,肯定会用到执行sql语句返回影响函数,问题就出在这个上面,每次返回的影响行数总是比实际的多1,执行一个update,在SQL Advantage中执行是影响0行,程序返回值偏偏是1,在SQL Advantage影响了1行的时候,返回值又变成了2。不知道大家有没有遇到还是就是这个样子,下面是具体的代码:
方法一:
using Sybase.Data.AseClient;
AseConnection conn = new
AseConnection("PROVIDER=ASEOLEDB;Data Source=172.19.11.111:5000;User Id=sa;Password=sa;Initial Catalog=news;"); AseCommand cmd = new AseCommand("update record set filefile=file where column_id=300000", conn);
try
{
conn.Open(); object o = cmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
方法二:
OleDbConnection objConn = new
OleDbConnection("PROVIDER=ASEOLEDB;Data Source=172.19.11.111:5000;User Id=sa;Password=sa;Initial Catalog=news;");OleDbCommand objCmd = new OleDbCommand("update paper_record set layout_filelayout_file=layout_file where column_id=300000",objConn);
try
{
objConn.Open();
object haha = objCmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
throw ex;}finally
{ objConn.Close();}
上面的sql 语句无论怎么变化,受影响的行数都会比实际的多1。
.net连接Sybase的OLEDB连接字符串:
PROVIDER=ASEOLEDB;Data Source=172.19.11.111:5000;User Id=sa;Password=sa;Initial Catalog=news;
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...