问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#中,怎样用c#调用SQL server中的存储过程

发布网友 发布时间:2022-04-26 01:27

我来回答

3个回答

热心网友 时间:2022-04-08 11:21

C#中使用SQL Server分布式管理对象

我们曾经在以前的应用中多次需要得到SQL Server的详细信息,过去,我们必须使用API和效率低下的ADO的调用才能得到,现在,我们有了一个新的方法,就是SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象),尽管它目前还不被人所知和使用,但是SQLDMO提供了许多强有力的、和利用代码从SQL Server获得信息相类似的许多功能,为举例方便,这里仅向您解释如何得到本地网络的SQL Server列表,如何去连接每个SQL Server,以及如何得到Server中的表、存储过程和视图的列表。

SQLDMO对象来自SQLDMO.dll,SQLDMO.dll是随SQL Server2000一起发布的。SQLDMO.dll自身是一个COM对象,因此,在你的.NET项目里必须先引用它,VS.NET集成开发环境会创建所有必要的对COM的封装。注意:如果你使用“using SQLDMO;”语句来引用的话,你将会得到一个错误信息。要让它在你的应用程序里正常工作,你必须去引用它:

引用了COM对象之后,你就可以很容易地使用它了。
本例子中的所有操作都使用以下的一个或几个对象:

SQLDMO.Application
SQLDMO.SQLServer
SQLDMO.Database
SQLDMO.NameList

象数据备份和恢复这样的操作都有许多对象可以使用,但作为例子,我们会尽量简单,使你轻松进入SQLDMO的世界来浏览一下它的方便性。
列出本地网络中可使用的SQL服务器相对来说比较简单,首先,你需要引用SQLDMO.Application对象,其次,你必须建立一个SQLDMO.Application.ListAvailableSQLServers()方法的返回值的实例SQLDMO.NameList,SQLDMO.NameList是服务器名字的COM集合。
请记住:在你习惯了调用COM对象之前,调用COM对象总是令人感到可怕的,但习惯了就会好的。下面是一些示例代码,它利用本地可使用的SQL服务器的列表来填充下拉列表框。

//得到所有本地网络中可使用的SQL服务器列表。
SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers();
for(int i=0;i<sqlServers.Count;i++)
{
object srv = sqlServers.Item(i + 1);
if(srv != null)
{
this.cboServers.Items.Add(srv);
}
}
if(this.cboServers.Items.Count > 0)
this.cboServers.SelectedIndex = 0;
else
this.cboServers.Text = "<No available SQL Servers>";

正如前面所讲的,是不是很简单?请记住:COM集合的第一个项目是1,而不是0。
连接数据库并得到所有数据库的列表也是相当简单的。下面的代码采用上面下拉列表框所选择的SQL服务器,并连接该服务器(使用文本框输入的用户名和密码),生成该服务器上数据库列表的下拉列表框。

//得到指定SQL服务器所有数据库的列表
SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(this.cboServers.SelectedItem.ToString(),this.txtUser.Text,this.txtPassword.Text);
foreach(SQLDMO.Database db in srv.Databases)
{
if(db.Name!=null)
this.cboDatabase.Items.Add(db.Name);
}

要得到该库中对象的列表也是轻而易举的事,再一次连接到数据库,就可以遍历出对象的集合。

//得到所有的存储过程,所有的表放到Tables集合,所以的视图放到Views集合
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(this.cboServers.SelectedItem.ToString(),this.txtUser.Text,this.txtPassword.Text);
for(int i=0;i<srv.Databases.Count;i++)
{
if(srv.Databases.Item(i+1,"dbo").Name == this.cboDatabase.SelectedItem.ToString())
{
SQLDMO._Database db= srv.Databases.Item(i+1,"dbo");
this.lstObjects.Items.Clear();
for(int j=0;j<db.StoredProceres.Count;j++)
{
this.lstObjects.Items.Add(db.StoredProceres.Item(j+1,"dbo").Name);
}
break;
}
}

通过上面的例子,要得到SQL的信息是不是很方便呢

热心网友 时间:2022-04-08 12:39

给您写了个最简单的情况下的执行存储过程:
//新建一个连接conn = new SqlConnection(“数据库连接字符串写在这里”);
//建立SqlCommand,并将其内容设置为存储过程的名称 comm = new SqlCommand("dbo.存储过程的名称", conn);
//设置命令类型为存储过程comm.CommandType = CommandType.StoredProcere;
//打开连接 conn.Open();
执行存储过程 comm.ExecuteNonQuery();

热心网友 时间:2022-04-08 14:14

我这里 有几个视频教程 你要的话传给你语音的挺容易理解的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... SQL SERVER2000 存储过程 教程 谁有比较详细的存储过程的教程!给我发一份,十分感谢! 路由器是分几种多少钱哪个最好一点 求MySql存储过程以及MySql语句视频教程或文章 求,oracle,存储过程,函数,块,触发器,全套教学视频 路由器最多可分出多少个端口? 提供一些关于SQL 存储过程 的视频教程 路由器分那几种,都什么价格 求orcale存储过程的教学视频 路由器分电信和移动吗? 路由器可连几个分器由器 中国石墨烯研发哪家公司做的最好? 我国上市公司有哪家正在研发石墨烯 广州石墨烯电池将量产,如今我国石墨烯的技术水平如何? 研发出石墨烯电池,雅迪电动车为什么这么牛? 小米手机怎么把个性主题里的壁纸保存到相册 内存条正常温度是多少? 什么是内存条啊? 如何确定内存条正在正常工作? 小米手机壁纸如何保存在SD卡里 mysql 存储过程怎么调用? 怎样学习存储过程比较好? 1,存储过程和函数的区别 谁有详细讲解sql语句视频教程 存储过程和函数分别是什么呢,有什么区别 跪求数据库存储过程详解!! 编程中的代码能看懂。。但是让自己写却写不出来。应该怎么办? 要有... 刚刚入行做会计的你,如何快速读懂企业财务报表 自己的被注销了还能登录吗 广州有哪些博物馆? 找广州博物馆五羊铜像图片,要全面的,各个方位的 从荔湾广场到广东省广州博物馆的地铁线路?求图片??? 广州恐龙化石博物馆的地图 青娱乐 的视频 怎么下载?? 广州有什么博物馆 青娱乐 在线自拍 如何下载里面的视频 广州博物馆里面有什么?谁有介绍? 请问谁知道青娱乐那个像网络电视播放器的那怎么下载??? 求广州博物馆有哪些???急!!! 下载好了的青娱乐版本 为什么不能观看视频 点击以后军事或*以后旁边的框内是空白的 费解