如何在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