惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
L
LangChain Blog
博客园_首页
J
Java Code Geeks
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
WordPress大学
WordPress大学
V
Visual Studio Blog
T
The Blog of Author Tim Ferriss
U
Unit 42
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
C
Check Point Blog
IT之家
IT之家
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
D
Docker
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
阮一峰的网络日志
阮一峰的网络日志
I
InfoQ

博客园 - ShelleyZhang

悬浮框实现 C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍 ODBC驱动重新注册 .net用OLEDB方式操作SqlServer和Sybase .net 连接 Sybase 影响行数问题——续 下载最新全国邮编数据库 windows 7(x86) IE8 下的 owc Who knows Microsoft.XMLDOM相关资料 XML to Excel - ShelleyZhang 使用windows7的System帐户 C# 位域[flags] - ShelleyZhang - 博客园 VS.NET 控件命名规范 DNN初探(第二小时) DNN 初探(第一小时) 工作总结(临时存放一下) 中文vs2008安装 mvc 1 今天到了1000分了,庆祝一下 asp超过响应缓冲区限制的解决方法
.net 连接 Sybase 影响行数问题
ShelleyZhang · 2010-05-21 · via 博客园 - ShelleyZhang

好久没有动动笔了,今天写一个。

    工作中的一个项目用到了.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 file=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_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;

写上来,大家给给意见,呵呵!

周末愉快!