如何为以下存储过程编写C#代码 [英] how to write c# code for below stored procedure

查看:77
本文介绍了如何为以下存储过程编写C#代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人都可以为下面的存储过程提供c#代码....



Can Anyone Give c# code for following stored procedure....



create procedure proc1 @pro_id varchar(50),@pro_name varchar(50),@description varchar(50),@priority int,@pro_img varchar(50),@search_img1 varchar(50),@search_img2 varchar(50),@search_img3 varchar(50),@search_img4 varchar(50),@search_img5 varchar(50),@keyword1 varchar(50),@keyword2 varchar(50),@keyword3 varchar(50),@keyword4 varchar(50),@keyword5 varchar(50),@y_url varchar(50),@type varchar(50),@price float,@nType int
--@option varchar(50)
AS
BEGIN
if @nType='Submit'
begin
insert into product(pro_id,pro_name,description,priority,pro_img,search_img1,search_img2,search_img3,search_img4,search_img5,keyword1,keyword2,keyword3,keyword4,keyword5,y_url,type,price) values(@pro_id,@pro_name,@description,@priority,@pro_img,@search_img1,@search_img2,@search_img3,@search_img4,@search_img5,@keyword1,@keyword2,@keyword3,@keyword4,@keyword5,@y_url,@type,@price)
end
else if @nType='Update'
begin
update product set pro_id=@pro_id,pro_name=@pro_name,description=@description,priority=@priority,pro_img=@pro_img,search_img1=@search_img1,search_img2=@search_img2,search_img3=@search_img3,search_img4=@search_img4,search_img5=@search_img5,keyword1=@keyword1,keyword2=@keyword2,keyword3=@keyword3,keyword4=@keyword4,keyword5=@keyword5,y_url=@y_url,type=@type,price=@price where pro_id=@pro_id
end
END

推荐答案

如果存储过程中包含逻辑,则可以将其转换为c#,但是由于代码正在执行数据操作,因此您无法将其转换为c#,因为这没有任何意义.
If the stored procedure had logic in it then it would be convertible to c# but since the code is doing data manipulation then you can''t convert it to c# as it makes no sense.


从C#调用存储过程的更好方法.


Better way to call stored procedure from C#.


try 
{
       string connect = System.Configuration.ConfigurationManager.AppSettings["conn"]; // Connection string
       SqlConnection scn = new SqlConnection(connect);
       string sp = "SpName";

       SqlCommand spcmd = new SqlCommand(sp, scn);
       spcmd.CommandType = CommandType.StoredProcedure
 
       SqlParameter theOrderID = new SqlParameter("@Parameter", SqlDbType.Int);
       ID = Convert.ToInt32(this.txt1.Text); // Parameter

       SqlDataReader dr;
       spcmd.Parameters.Add(ID); // Adding Parameter
       MessageBox.Show(spcmd.Parameters["@Parameter"].Value.ToString());
 
       scn.Open();
       dr = spcmd.ExecuteReader(); //SP call
       scn.Close();
       dr.Close();
}
catch (SqlException x)
{
       MessageBox.Show(x.Message.ToString());
}


您在S.P中有一个错误,您的最后一个参数@nType被声明为int,在以后的S.P中用作varchar.


您可以从C#调用S.P.

You have one mistake in S.P your last parameter @nType is declared as int and you use as varchar in later S.P.


You can call S.P From C#.

sqlcommand sqlobject=new sqlcommand();
sqlobject.CommandType=CommandType.StoredProcedure;
sqlobject.Commandtext="SpName";
sqlobject.commandParameter.Clear();
sqlobject.Paramaters.Addwithvalue("@Parmeter",paramavalue);
--
---
--so on for all paramters
at last according to your operation like insert/update you to send one parameters
if(Operation=="Insert")
{
   sqlobject.Paramaters.AddWithValue("@nType","insert");
}
else
{
   sqlobject.Paramaters.AddWithValue("@nType","update");
}
sqlobject.ExcuteNonQuery();



上面的代码是虚拟语法,不检查.



above code is dummy syntax are not checking.


这篇关于如何为以下存储过程编写C#代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆