首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么在cs里调用另一个存储过程

2012-08-11 
如何在cs里调用另一个存储过程描述如下:1、在“数据库”文件夹下有两个数据库:一个是“著名的”Northwind(排在

如何在cs里调用另一个存储过程
描述如下:

1、在“数据库”文件夹下有两个数据库:一个是“著名的”Northwind(排在第一个),一个是自己建立的UserData(排在第二个),每个数据库下面都有自己的唯一一个存储过程,一个叫storedprocedure1,另一个叫storedprocedure2。


2、在sql server中新建查询,分别运行Northwind和UserData下的存储过程,查询结果没有任何问题。


3、在VS中调用Northwind的存储过程没有任何问题,但是一旦调用UserData就会显示:“找不到存储过程storedprocedure2”。


问题:

1、在VS中调用存储过程是不是默认调用第一个数据库(Northwind)中的存储过程?

2、该如何调用UserData下的存储过程,下面是调用Northwind下的存储过程StoredProcedure1的源代码:


C# code
using System;using System.Collections;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;  public partial class _10_10 : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {    }    protected void Button1_Click(object sender, EventArgs e)    {                using (SqlConnection conn = new SqlConnection   (System.Configuration.ConfigurationManager   .ConnectionStrings["SQLCONN"].ConnectionString))        {            conn.Open();            SqlDataAdapter sqldap = new SqlDataAdapter();            SqlCommand cmm = new SqlCommand();            cmm.Connection = conn;            cmm.CommandType = CommandType.StoredProcedure;            cmm.CommandText = "StoredProcedure1";//此处调用存储过程            cmm.Parameters.Add("wlpz", SqlDbType.NVarChar);            cmm.Parameters.Add("wlms", SqlDbType.NVarChar);            cmm.Parameters.Add("ydlx", SqlDbType.NVarChar);            cmm.Parameters.Add("kw", SqlDbType.NVarChar);            //cmm.Parameters.Add("ctitle", SqlDbType.NVarChar);            cmm.Parameters["wlpz"].Value = wlpz.Text;            cmm.Parameters["wlms"].Value = wlms.Text;            cmm.Parameters["ydlx"].Value = ydlx.SelectedValue.ToString();            cmm.Parameters["kw"].Value = kw.SelectedValue.ToString();            //cmm.Parameters["ctitle"].Value = ContactTitle.Text;            sqldap.SelectCommand = cmm;            DataTable dt = new DataTable();            sqldap.Fill(dt);                       GridView1.DataSource = dt;            GridView1.DataBind();                   }    }}



[解决办法]
调用UserData这个数据库下的存储过程
需要将Web.Config下的SQLCONN连接串的数据库Northwind改为UserData
然后代码中cmm.CommandText = "StoredProcedure1";//此处调用存储过程

[解决办法]
如果在一台服务器上,可以加上数据库的前缀
userdata.dbo.storedprocedure2

热点排行