关于c#vs2010连接sql20088

更多频道内容在这里查看
爱奇艺用户将能永久保存播放记录
过滤短视频
暂无长视频(电视剧、纪录片、动漫、综艺、电影)播放记录,
使用您的微博帐号登录,即刻尊享微博用户专属服务。
使用您的QQ帐号登录,即刻尊享QQ用户专属服务。
使用您的人人帐号登录,即刻尊享人人用户专属服务。
按住视频可进行拖动
把视频贴到Blog或BBS
当前浏览器仅支持手动复制代码
视频地址:
flash地址:
html代码:
通用代码:
通用代码可同时支持电脑和移动设备的分享播放
收藏成功,可进入查看所有收藏列表
方式1:用手机看
用爱奇艺APP或微信扫一扫,在手机上继续观看:
[适用于初学者]C#连接Sql Server-实现登陆
方式2:一键下载至手机
限爱奇艺安卓6.0以上版本
使用微信扫一扫,扫描左侧二维码,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:&&
设备搜寻中...
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
连接失败!
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
部安卓(Android)设备,请点击进行选择
请您在手机端下载爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:&&
爱奇艺云推送
请您在手机端登录爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
180秒后更新
打开爱奇艺移动APP,点击“我的-扫一扫”,扫描左侧二维码进行登录
没有安装爱奇艺视频最新客户端?
爸爸去哪儿2游戏 立即参与
[适用于初学者]C#连接Sql Server-实现登陆
播放量数据:
17,206人已订阅
你可能还想订阅他们:
{{#needAdBadge}} 广告{{/needAdBadge}}
&正在加载...
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制
安装爱奇艺视频客户端,
马上开始为您下载本片
5秒后自动消失
&li data-elem="tabtitle" data-seq="{{seq}}"& &a href="javascript:void(0);"& &span>{{start}}-{{end}}&/span& &/a& &/li&
&li data-downloadSelect-elem="item" data-downloadSelect-selected="false" data-downloadSelect-tvid="{{tvid}}"& &a href="javascript:void(0);"&{{pd}}&/a&
选择您要下载的《
色情低俗内容
血腥暴力内容
广告或欺诈内容
侵犯了我的权力
还可以输入
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制您所在的位置: &
一个C# ADO.NET连接SQL Server数据库的实例
一个C# ADO.NET连接SQL Server数据库的实例
本文主要介绍了一个利用C# ADO.NET连接SQL Server数据库的实例,通过这个实例让我们一起来了解一下C#连接SQL Server数据库的过程,接下来就让我们来一起学习吧。
本文是一个利用C# ADO.NET连接SQL Server数据库的程序实例,该实例比较简单,代码如下:&
usingS &&usingSystem.Collections.G &&usingSystem.L &&usingSystem.T &&usingSystem.D &&usingSystem.Data.SqlC &&namespaceDataAccess &&{ &&///&&///操作数据库公共类 &&///&&classSqlDataAccess:IDisposable &&{ &&///&&///数据库连接字符串 &&///&&&privatereadonlystringSqlConnectionString=&连接字符串;&; &&&privateSqlConnectionsqlC &&&publicSqlDataAccess() &&{ &&sqlConnection=newSqlConnection(SqlConnectionString); &&}&
执行SQL语句,并返回受影响的行数,具体代码如下:
///&&///执行SQL语句,并返回数据库受影响的行数 &&///&&///paramname=&sql&SQL语句&&///&&publicintExcuteNonQuery(stringsql) &&{ &&SqlCommandcmd=newSqlCommand(sql,sqlConnection); &&if(sqlConnection.State==ConnectionState.Closed) &&{ &&sqlConnection.Open(); &&} &&intresult=cmd.ExecuteNonQuery(); &&sqlConnection.Close(); && &&} &&//如果更新的数据有特殊字符的用上面那个ExcuteNonQuery()就不行了,需要用到SqlCommand的一个参数SqlParameter。 &&publicintExcuteNonQuery(stringsql,SqlParameter[]parameters) &&{ &&&SqlCommandcmd=newSqlCommand(sql,sqlConnection); &&cmd.Parameters.AddRange(parameters); &&if(sqlConnection.State==ConnectionState.Closed) &&{ &&sqlConnection.Open(); &&} &&intcount=cmd.ExecuteNonQuery(); &&sqlConnection.Close(); && &&}&
返回首行首列的代码如下:
///&&///返回首行首列 &&///&&///paramname=&sql&&&///&&publicobjectExecuteScalar(stringsql) &&{ &&SqlCommandcmd=newSqlCommand(sql,sqlConnection); &&if(sqlConnection.State==ConnectionState.Closed) &&{ &&sqlConnection.Open(); &&} &&objectresult=cmd.ExecuteScalar(); &&sqlConnection.Close(); && &&}&
获取一个DataSet的代码如下:
///&&///获取一个DataSet &&///&&///paramname=&sql&&&///&&publicDataSetGetDataSet(stringsql) &&{ &&SqlDataAdapteradapter=newSqlDataAdapter(sql,sqlConnection); &&DataSetds=newDataSet(); &&adapter.Fill(ds); && &&} &&} &&}&
示例:用上面的数据库连接类,新增一个商品,包括商品名称和单价,代码如下:
stringinsertSql=@&INSERTINTOPRODUCTINFO &&VALUES &&( &&@PRODUCTNAME, &&@PRODUCTPRICE, &&); &&SqlParameter[]parameters=newSqlParameter[] &&{ &&newSqlParameter(&@PRODUCTNAME&,商品名称){SqlDbTypeSqlDbType=SqlDbType.NVarChar}, &&newSqlParameter(&@PRODUCTPRICE&,商品单价){SqlDbTypeSqlDbType=SqlDbType.Money} &&} &&DataAccessdataAccess=newDataAccess(); &&intresult=dataAccess.ExcuteNonQuery(insertSql,parameters); &&if(result0) &&{ &&MessageBox.Show(&新增成功&); &&} &&else &&{ &&MessageBox.Show(&新增失败&); &&}&
本实例就介绍到这里,如果想了解更多SQL Server数据库的知识,这里的文章很值得一看:,千万不要错过哦!
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
MariaDB是一个向后兼容、替代MySQL的数据库服务器。它包含所有主
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
MongoDB现在已经越来越受到重视,学习的人也越来越多
DBA是数据库管理员,英文是Database Administrator。一
生活中,有各种点滴的时间值得我们去记录,这个专题主
本书是数据库系统方面的经典教材之一。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、
51CTO旗下网站作者 : 飘渺菌
开发环境:VS2010+SQL Server 2008
操作系统:win7_32bit 旗舰版
开发语言:C#
项目名称:学生寄宿管理系统
下面开始介绍:如何给windows应用程序打包?
打开VS2010,打开你要打包的项目,然后右击&解决方案&,”添加“,&新建项目&,弹出如下图所示界面:
点击”安装和部署“左边的三角形,选择下面的”Visual studio Installer“,再选择”安装项目“,同时将下面的命名改为”Setup“点击确定。
点击解决方案里面生成的”Setup“,将属性中的ProtectName改为”学生寄宿系统 V1.0 “(你的项目名字)
右击解决方案里面的”Setup“,然后再选择”属性“。弹出属性页界面如下第二张图:
再点击里面的系统必备。
重要一点:勾选&从与我的应用程序相同的位置下载系统必备组件(D)&,其实意思就是说你勾选后,生成安装项目时,在你安装项目的路径下,会有你在系统必备组件列表中勾选的组件.(系统自动完成,这一点还不错,不需要你自己去下载组件)
1)、Windows Installer 3.1(必选)
2)、.NET Framework 3.5 (可选)参考最后说明
3)、Crystal Report Basic for Visual Studio) (可选) 项目中用到了水晶报表就需要勾选此项
右击”应用程序文件夹“,点击”添加“,再点击文件夹,命名为”DB“(可随意)用于存放你的数据库文件。
然后再右击刚才添加好的&DB&文件夹,”添加“,”文件“,将你的数据库添加进来。
右击”应用程序文件夹“,点击”添加“,点击”文件“。将你的Release目录下面的文件全部添加进来。
右击”应用程序文件夹“,点击”添加“,选择”项目输出...“,注意:在项目栏要选择你自己的项目(我的项目名:StudentJisu),然后选择”主输出“,点击确定。
创建桌面快捷方式,右击刚才添加的”主输出“,然后选择第一个”创建快捷方式“,然后你可以将快捷方式重新命名(我重新命名为:学生寄宿管理系统)
最后,鼠标左键点住快捷方式,然后拖放到”用户桌面“文件夹下面。
创建卸载程序。右击”应用程序文件夹“,点击”添加“,选择”文件“,然后将&C:\Windows\System32& 下面的”msiexec.exe“文件给添加进来,如果找不到,你可以直接搜。当然,你也可以再给msiexec.exe创建一个快捷方式命名为”UnInstall“。
命名了快捷方式之后,将Setup属性(点击解决方案里面的setup弹出属性)ProductCode拷贝到Uninstall属性的Arguments里面:
同时在前头加上 ”/X “,注意:x后面有一个空格。
改变桌面快捷方式的Logo。自带的logo实在是太挫了,你可以去网上下载一个图片,然后转换为.ico格式。
下图中”应用程序文件夹“是指logo存放的位置,一般存在在该处就行了。
附加数据库。我们现在添加一个类,用于编写附加数据库代码。
右击”解决方案“,点击”添加“,选择”新建项目“,然后新建一个C#类库,并命名为”InstallDB“。
最后,将”class1.cs“删掉。
第十一步:
新建一个类,用于写数据库附加到 数据库管理系统中的 代码。右击刚新建的那个”InstallDB“,点击”添加“,选择”新建项“。
然后在弹出的界面中,选择”安装程序类“,并命名为”InstallDB.cs“。
第十二步:
由于附加数据库需要用户输入本机数据库的一些信息,比如:服务器名称,数据库管理员名称和密码等等。这时候,我们可以在安装过程中弹出一个等待用户输入的框:
右击”Setup“,点击”视图“,选择”用户界面“。弹出如下第二个界面,再右击”启动“,点击“添加对话框”,选择”文本框(A)“,同时将其拖放到”欢迎使用“下面,如下第三张图。
最后,根据自己的需要填写”文本框(A)“的属性,可以参考第三张图。
注:里面定义的变量,主要是为了下面的附加代码而定义的。
第十三步:
添加 附加数据库的 主输出。右击”setup“,选择”视图“,”自定义操作“。
然后,右击”安装“,选择”应用程序文件夹“,选择安装程序类”InstallDB“,还是选择”主输出“,确定。
第十四步:
在InstallDB.cs中编写附加数据库代码。先点击”单机此处切换到代码视图“。
然后添加 几个 命名空间。
当然,要使用MessageBox()函数,需要添加using System.Windows.F之外,同时需要添加System.Windows.Forms引用(具体操作:右击InstallDB,选择添加引用,选择.NET)
当然,最后写好的代码,如下所示:
using System.C
using System.Collections.G
using System.Configuration.I
using System.L
using System.Data.SqlC
using System.Windows.F
using System.IO;
using System.Security.AccessC
namespace InstallDB
[RunInstaller(true)]
public partial class InstallDB : System.Configuration.Install.Installer
public InstallDB()
InitializeComponent();
private void CreateDataBase(string strSql, string DataName, string strMdf, string strLdf, string path)
SqlConnection myConn = new SqlConnection(strSql);
String str =
str = @& EXEC sp_attach_db @dbname='& + DataName + &',@filename1='& + strMdf + &',@filename2='& + strLdf + &'&;
SqlCommand myCommand = new SqlCommand(str, myConn);
myConn.Open();
myCommand.ExecuteNonQuery();
MessageBox.Show(&数据库安装成功!点击确定继续&);//需Using System.Windows.Forms
catch (Exception e)
MessageBox.Show(&数据库安装失败!& + e.Message + &\n\n& + &您可以手动附加数据&);
System.Diagnostics.Process.Start(path);//打开安装目录
myConn.Close();
private static void SetFullControl(string path)
FileInfo info = new FileInfo(path);
FileSecurity fs = info.GetAccessControl();
fs.AddAccessRule(new FileSystemAccessRule(&Everyone&, FileSystemRights.FullControl, AccessControlType.Allow));
info.SetAccessControl(fs);
public override void Install(System.Collections.IDictionary stateSaver)
string server = this.Context.Parameters[&server&];//服务器名称
string uid = this.Context.Parameters[&user&];//SQlServer用户名
string pwd = this.Context.Parameters[&pwd&];//密码
string path = this.Context.Parameters[&targetdir&];//安装目录
string ch = path.Substring(path.Length - 1, 1);
if (ch == @&\&)
path = path.Substring(0, path.Length - 1);
string strSql = &server=& + server + &;uid=& + uid + &;pwd=& + pwd + &;database=master&;//连接数据库字符串
string DataName = @&StuBoardDB&;//数据库名
string strMdf = path + @&XSJSGLXT.mdf&;//MDF文件路径,这里需注意文件名要与刚添加的数据库文件名一样!
SetFullControl(strMdf);
string strLdf = path + @&XSJSGLXT_log.ldf&;//LDF文件路径
SetFullControl(strLdf);
base.Install(stateSaver);
this.CreateDataBase(strSql, DataName, strMdf, strLdf, path);//开始创建数据库
可能你看到代码比较多,其实这些你都可以重用,你只需要改其中的一点点就行了。如下图(黑框里面的东西):你懂得。
第十五步:
好了,最后,生成安装包。
参考文献:宽田的博客园.c# winform 打包(带数据库安装)[CP/OL]./scottckt/archive//2046313.html,/一个通用的C# SqlServer数据库操作类,包括连接数据库、查询、搜索、删除、插入等基本操作,里面方法比较多,对C#数据库开发相当有用,后面有一个存储过程调用的例子,很不错:
public SystemDB()
// 此处: 添加构造函数
public static string ConnectionString = &Data Source=数据库地址;Initial Catalog=数据库名称;Persist Security Info=TUser ID=帐号;Password=密码&;
//根据sql语句返回一个DataSet
#region GetDataSet
public DataSet GetDataSet(string sql)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.Text, sql);
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand =
DataSet ds = new DataSet();
sda.Fill(ds);
sqlcom.Parameters.Clear();
#endregion
//根据sql语句返回一个SqlDataReader
#region ExecSqlDataReader
public SqlDataReader ExecSqlDataReader(string sql)
SqlCommand sqlcom = new SqlCommand();
SqlConnection conn = new SqlConnection(ConnectionString);
PrepareCommand(sqlcom, conn, CommandType.Text, sql);
SqlDataReader sdr = sqlcom.ExecuteReader(CommandBehavior.CloseConnection);
sqlcom.Parameters.Clear();
catch (Exception ex)
conn.Close();
#endregion
//执行sql语句,返回影响行数
#region ExecCommand
public int ExecCommand(string sql)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.Text, sql);
int rtn = sqlcom.ExecuteNonQuery();
sqlcom.Parameters.Clear();
#endregion
//执行SQL语句,无返回值
#region ExecNon
public void ExecNon(string sql)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.Text, sql);
sqlcom.ExecuteNonQuery();
sqlcom.Parameters.Clear();
#endregion
//根据sql语句返回查询结果的第一行
#region ExecuteScalar
public object ExecuteScalar(string sql)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.Text, sql);
object rtn = sqlcom.ExecuteScalar();
sqlcom.Parameters.Clear();
#endregion
//执行存储过程无返回值,SQL语句含有参数
#region ExecSPCommand
public void ExecSPCommand(string sql, System.Data.IDataParameter[] paramers)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.StoredProcedure, sql);
foreach (System.Data.IDataParameter paramer in paramers)
sqlcom.Parameters.Add(paramer);
sqlcom.ExecuteNonQuery();
sqlcom.Parameters.Clear();
#endregion
//执行存储过程无返回值,SQL语句不含有参数
#region ExecSPCommand2
public void ExecSPCommand2(string sql)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.StoredProcedure, sql);
sqlcom.ExecuteNonQuery();
sqlcom.Parameters.Clear();
#endregion
//执行存储过程,返回SqlDataReader,SQL语句含有参数
#region ExecSPSqlDataReader
public SqlDataReader ExecSPSqlDataReader(string sql, System.Data.IDataParameter[] paramers)
SqlConnection conn = new SqlConnection(ConnectionString);
SqlCommand sqlcom = new SqlCommand();
PrepareCommand(sqlcom, conn, CommandType.StoredProcedure, sql);
foreach (System.Data.IDataParameter paramer in paramers)
sqlcom.Parameters.Add(paramer);
SqlDataReader sdr = sqlcom.ExecuteReader(CommandBehavior.CloseConnection);
sqlcom.Parameters.Clear();
catch (Exception ex)
conn.Close();
#endregion
//执行存储过程,返回SqlDataReader,SQL语句不含有参数
#region ExecSPSqlDataReader2
public SqlDataReader ExecSPSqlDataReader2(string sql)
SqlConnection conn = new SqlConnection(ConnectionString);
SqlCommand sqlcom = new SqlCommand();
PrepareCommand(sqlcom, conn, CommandType.StoredProcedure, sql);
SqlDataReader sdr = sqlcom.ExecuteReader(CommandBehavior.CloseConnection);
sqlcom.Parameters.Clear();
catch (Exception ex)
conn.Close();
#endregion
//执行存储过程返回DataSet类型,SQL语句含有参数
#region ExecSPDataSet
public DataSet ExecSPDataSet(string sql, System.Data.IDataParameter[] paramers)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.StoredProcedure, sql);
foreach (System.Data.IDataParameter paramer in paramers)
sqlcom.Parameters.Add(paramer);
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand =
DataSet ds = new DataSet();
sda.Fill(ds);
sqlcom.Parameters.Clear();
#endregion
//执行存储过程返回DataSet类型,SQL语句不含有参数
#region ExecSPDataSet2
public DataSet ExecSPDataSet2(string sql)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.StoredProcedure, sql);
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand =
DataSet ds = new DataSet();
sda.Fill(ds);
sqlcom.Parameters.Clear();
#endregion
///利用存储过程分页
#region DataSelect
///参数说明:
///TableList 要取得的字段列表,全部为*
///TableName 要查询的表名
///SelectWhere 查询条件,不可为空
///SelectOrderID 排序字段
///SelectOrder 排序方式
///intPageNo 当前页码
///intPageSize 每页显示的记录数
///RecordCount 返回值,查询出来的总记录数,传递参数时无需初始化
public DataSet DataSelect(string TableList, string TableName, string SelectWhere, string SelectOrderId, string SelectOrder, int intPageNo, int intPageSize, out int RecordCount)
SqlCommand sqlcom = new SqlCommand();
using (SqlConnection conn = new SqlConnection(ConnectionString))
PrepareCommand(sqlcom, conn, CommandType.StoredProcedure, &getdataset&);
sqlcom.Parameters.Add(&@TableList&, SqlDbType.VarChar, 500).Value = TableL
sqlcom.Parameters.Add(&@TableName&, SqlDbType.VarChar, 100).Value = TableN
sqlcom.Parameters.Add(&@SelectWhere&, SqlDbType.VarChar, 500).Value = SelectW
sqlcom.Parameters.Add(&@SelectOrderId&, SqlDbType.VarChar, 20).Value = SelectOrderId;
sqlcom.Parameters.Add(&@SelectOrder&, SqlDbType.VarChar, 500).Value = SelectO
sqlcom.Parameters.Add(&@intPageNo&, SqlDbType.Int).Value = intPageNo;
sqlcom.Parameters.Add(&@intPageSize&, SqlDbType.Int).Value = intPageS
sqlcom.Parameters.Add(&@RecordCount&, SqlDbType.Int).Direction = ParameterDirection.O
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand =
DataSet ds = new DataSet();
da.Fill(ds);
RecordCount = (Int32)da.SelectCommand.Parameters[&@RecordCount&].V //求出总记录数,该值是output出来的值
#endregion
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, CommandType cmdType, string cmdText)
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection =
mandText = cmdT
mandType = cmdT
上面代码中利用存储过程分页使用到的存储过程&getdataset&如下:
ALTER proc [dbo].[GetDataSet]
@TableList Varchar(500)='*',--搜索表的字段,比如:&id,datatime,job&,用逗号隔开
@TableName Varchar(100), --搜索的表名
@SelectWhere Varchar(500),--搜索条件,这里不用写where,比如:job='teacher'and class='2'
@SelectOrderId Varchar(20),--表主键字段名。比如:id
@SelectOrder Varchar(500)='', --排序,可以使用多字段排序但主键字段必需在最前面.也可以不写,比如:order by class asc
@intPageNo int=1, --页号
@intPageSize int=10 ,--每页显示数
@RecordCount int OUTPUT --总记录数(存储过程输出参数)
declare @TmpSelect NVarchar(600)
declare @Tmp NVarchar(600)
set nocount on--关闭计数
set @TmpSelect = 'select @RecordCount = count(*) from '+@TableName+' '+@SelectWhere
execute sp_executesql
@TmpSelect, --执行上面的sql语句
N'@RecordCount int OUTPUT' , --执行输出数据的sql语句,output出总记录数
@RecordCount OUTPUT
--if (@RecordCount = 0) --如果没有贴子,则返回零
--return 0
/*判断页数是否正确*/
if (@intPageNo - 1) * @intPageSize & @RecordCount --页号大于总页数,返回错误
return (-1)
set nocount off--打开计数
if @SelectWhere != ''
set @TmpSelect = 'select top '+str(@intPageSize)+' '+@TableList+' from '+@TableName+' '+@SelectWhere+' and '+@SelectOrderId+' not in(select top '+str((@intPageNo-1)*@intPageSize)+' '+@SelectOrderId+' from '+@TableName+' '+@SelectWhere +' '+@SelectOrder+') '+@SelectOrder
set @TmpSelect = 'select top '+str(@intPageSize)+' '+@TableList+' from '+@TableName+' '+@SelectOrderId+' not in(select top '+str((@intPageNo-1)*@intPageSize)+' '+@SelectOrderId+' from '+@TableName+' '+@SelectOrder+') '+@SelectOrder
execute sp_executesql @TmpSelect
return(@@rowcount)
本类推荐文章
本类最新更新
最新源码下载

我要回帖

更多关于 vs2010连接sql2008 的文章

 

随机推荐