c# asp.net调用数据库存储过程

2024-10-31 10:19:36
推荐回答(3个)
回答(1):

给你我的源码吧
SqlConnection conn = new SqlConnection(GetConnectionString.conn());
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure; //指定执行存储过程操作
cmd.CommandText = "fangSTDEquGroup"; //存储过程名称
SqlDataAdapter da = new SqlDataAdapter(cmd); //定义一个数据适配器
DataSet DataSet2 = new DataSet(); //定义一个数据集
da.Fill(DataSet2); //填充数据集
DataTable dt = DataSet2.Tables[0]; //取数据集中的表进行操作

TreeView2.Nodes.Clear();
TreeNode cc = new TreeNode();
cc.Text = "设备";
cc.Value = "设备";
TreeView2.Nodes.Add(cc);

foreach (DataRow dr in dt.Rows)
{
TreeNode tn = new TreeNode();
tn.Text = dr["StrName"].ToString();
tn.Value = dr["IDCode"].ToString();
cc.ChildNodes .Add(tn);
}
conn.Close();
提取数据集最好还是改成用自定义函数来调用,这样写你更容易看懂,还有不明白的百度在线聊

回答(2):

基本语法同不用存储过程是差不多的,只是改变一下命令对象的参数而已!比如:
SqlCommand cmd=new SqlCommand ("proc_select",conn);//其中的proc_select是你建立的存储过程的名字
cmd.CommandType=CommandType.StoreProcedure;
conn.Open();//打开连接
SqlDataReader dr=cmd.ExecuteReader();
……接下来的语句就是数据阅读器的Read操作了。我就不详细写了

回答(3):

Sqlconnection con=new Sqlconnection("server=.;uid=sa;pwd=;database=DBname");/*这是连接数据库的数据,database等于你的数据库的名称
con.Open();
Sqlcommand cmd=new Sqlcommand("P_Select",con);//"P_select"就是存贮过程的名称
cmd.CommandType=CommandType.StoreProcedure;//指定是执行存贮过程
SqlDataReader dr=cmd.ExecuteReader();
while(dr.read())//循环输出
{

DropdownList1.text=dr["Username"].Tostring();
DropdownList2.text=dr["Password"].Tostring();

}
dr.Close();
con.Close();
//我在这里自己定义了2个 DropdownList控件,实际情况自己可以去改