.net 中如何调用存储过程,最好贴些代码!

解决方案 »

  1.   

    _conn.Open();
    SqlCommand _comm = new SqlCommand( "存储过程名", _conn );
    try
    {
        _comm.CommandType = CommandType.StoredProcedure;
        //存储过程带的参数
        _comm.Parameters.Add( "参数名", SqlDbType.数据类型 ).Value = ******;    _comm.ExecuteNonQuery();
    }
    catch( Exception Message )
    { //捕获异常 }
    _conn.close();
      

  2.   

    Dim sty1, sty2, sty3, sqlstr As String        sty1 = TextBox1.Text.Trim
            sty2 = TextBox2.Text.Trim
            sty3 = TextBox3.Text.Trim
            If sty1 = "" Or sty2 = "" Then
                Response.Write("<script>alert('请输入您要添加的三个类别的内容,至少要添入第一和第二个类型,以确保分类!!!')</script>")
                Exit Sub
            End If
            Dim sqlconn As New SqlConnection(strconn)
            Dim sqlcomm As SqlCommand        sqlcomm = New SqlCommand("proc_insertintotabimgstyle", sqlconn)
            sqlcomm.CommandType = CommandType.StoredProcedure
            sqlcomm.Parameters.Add("@style1", sty1)
            sqlcomm.Parameters.Add("@style2", sty2)
            sqlcomm.Parameters.Add("@style3", sty3)
            sqlconn.Open()
            sqlcomm.ExecuteNonQuery()
    搂主可以看看msdn帮助,感觉真是不错
      

  3.   

    sql
    //--------------------------------------------------------------
    try
    {
    String Servername="server=super-happy;";//sql服务器名
    String DataBasename="database=testdb;";//sql数据库名
    String userid="uid=yu;";//用户名称
    String password="pwd=yu";//用户密码
    String connectString=Servername+DataBasename+userid+password;
    SqlConnection theconnection=new SqlConnection(connectString);//建立一个connection
    SqlCommand thecommand=theconnection.CreateCommand();
    //用刚刚生成的connection生成一个command
                    
    theconnection.Open();
    thecommand.CommandType=System.Data.CommandType.StoredProcedure;
    thecommand.CommandText="testprocedure";thecommand.Parameters.Add("@testa",SqlDbType.Char,10);
    thecommand.Parameters.Add("@testb",SqlDbType.Char,10);
    thecommand.Parameters.Add("@testc",SqlDbType.Char,10);
      
    thecommand.Parameters["@testa"].Value="1";
    thecommand.Parameters["@testb"].Value="2";
    thecommand.Parameters["@testc"].Value="3";
    int theline=thecommand.ExecuteNonQuery();
    //Console.WriteLine(theline);
    text1.Text=theline+"";
    }
    catch(SqlException ee){MessageBox.Show(ee.Message);}oracle
    //------------------------------------------------
     //建立连接与command
    string ConnectionString="Data Source=pmanager;user=yu;password=yu;";//写连接串
    OracleConnection conn=new OracleConnection(ConnectionString);//创建一个新连接
    conn.Open();
    OracleCommand cmdOra=conn.CreateCommand();            //建立所需要的参数和输入存储过程的名字
        cmdOra.Parameters.Clear(); 
               cmdOra.CommandText="test_pro"; 
               cmdOra.CommandType=CommandType.StoredProcedure; 
                //加入索要使用的输入与输出参数
    cmdOra.Parameters.Add("C#1",System.Data.OracleClient.OracleType.Number); 
    cmdOra.Parameters.Add("C#2",System.Data.OracleClient.OracleType.VarChar); 
    cmdOra.Parameters.Add("ee",System.Data.OracleClient.OracleType.VarChar,100); 
    cmdOra.Parameters.Add("yy",System.Data.OracleClient.OracleType.Number,100);             //添加输入参数的值
               cmdOra.Parameters["C#1"].Value=10; 
               cmdOra.Parameters["C#2"].Value="hk0wqwqwq";             //确定类型
               cmdOra.Parameters["C#1"].Direction=ParameterDirection.Input; 
               cmdOra.Parameters["C#2"].Direction=ParameterDirection.Input;
       cmdOra.Parameters["ee"].Direction=ParameterDirection.Output; 
               cmdOra.Parameters["yy"].Direction=ParameterDirection.Output; try
    {
    cmdOra.ExecuteNonQuery(); 
    }
    catch(Exception r)
    {
    MessageBox.Show(r.Message);
    }          string tem1=cmdOra.Parameters["ee"].Value.ToString();
       string tem2=cmdOra.Parameters["yy"].Value.ToString();
    MessageBox.Show(tem1+"  "+tem2);
      

  4.   

    //连接数据库可以直接写 
       SqlConnection mySqlConnection =
            new SqlConnection(
              "server=localhost;database=Northwind;uid=sa;pwd=sa" );//也可以
    SqlConnection MyConnection =
     new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]); /*在Web.config 如下写,这样在其他连接数据库的地方就不用重复了。
    <configuration>
     <appSettings>
    <!--此处设置数据库连接字符串-->
    <add key="ConnectionString" value="server=localhost;database=Northwind;User ID=sa;password=sa"/>
        </appSettings>
     */SqlCommand MyCommand = new SqlCommand("GetLabInfo", MyConnection);/*GetLabInfo是存储过程的名字,在SQL Server 2000中创建存储过程
    create PROCEDURE GetLabInfo
    @LabId int 
     AS
    select LabAddress from LabInfo where LabId =@LabId
    */
    MyCommand.CommandType = CommandType.StoredProcedure;  //执行存储过程
    MyConnection.Open();
            SqlDataAdapter objAdapter=new SqlDataAdapter();  //新建一个SqlDataAdapter
             objAdapter.SelectCommand=MyCommand;
    DataSet dataSet11=new DataSet();
    objAdapter.Fill(dataSet11,"LabInfo");          
    dgLabInfo.DataSource=dataSet11.Tables[0]; //dgLabInfo是一个DataGrid控件  
    dgLabInfo.DataBind();     //将存储过程的执行结果显示在DataGrid控件中
    MyConnection.Close();
      

  5.   

    private void ExcutProcu()
    {
    string sqlstr_manage="AddTBTInformation";//存储过程名
    string connStr1 =AppConfig.TBT_ConString;
    sqlConnection1 = new SqlConnection(connStr1);
    sqlCommand1= new SqlCommand(sqlstr_manage,sqlConnection1);
    sqlCommand1.CommandType=CommandType.StoredProcedure;
    sqlConnection1.Open();
    sqlCommand1.Parameters.Add("@vSn",SqlDbType.NVarChar,40);
    sqlCommand1.Parameters.Add("@vWto",SqlDbType.NVarChar,50);
    sqlCommand1.Parameters.Add("@vType",SqlDbType.VarChar,10);
    sqlCommand1.Parameters.Add("@vAgency",SqlDbType.NVarChar,100);
    sqlCommand1.Parameters.Add("@vArticle",SqlDbType.NVarChar,70);
    sqlCommand1.Parameters.Add("@vArticleOther",SqlDbType.NVarChar,200);
    sqlCommand1.Parameters.Add("@vColle",SqlDbType.NVarChar,200);
    sqlCommand1.Parameters.Add("@vHsClscode",SqlDbType.NVarChar,70);
    sqlCommand1.Parameters.Add("@vIcsClscode",SqlDbType.NVarChar,70);
    sqlCommand1.Parameters.Add("@vTitle",SqlDbType.NVarChar,220);
    sqlCommand1.Parameters.Add("@vPage",SqlDbType.NVarChar,10);
    sqlCommand1.Parameters.Add("@vLanguage",SqlDbType.NVarChar,20);
    sqlCommand1.Parameters.Add("@vProducts",SqlDbType.NVarChar,1000);
    sqlCommand1.Parameters.Add("@vOntent",SqlDbType.NVarChar,2200);
    sqlCommand1.Parameters.Add("@vObjRati",SqlDbType.NVarChar,1100);
    sqlCommand1.Parameters.Add("@vReleDocu",SqlDbType.NVarChar,1100);
    sqlCommand1.Parameters.Add("@vPubdate",SqlDbType.DateTime,8);
    //sqlCommand1.Parameters.Add("@vAdopDT",SqlDbType.VarChar,20);
    sqlCommand1.Parameters.Add("@vAdopOther",SqlDbType.NVarChar,300);
    //sqlCommand1.Parameters.Add("@vForceDT",SqlDbType.VarChar,20);
    sqlCommand1.Parameters.Add("@vForceOther",SqlDbType.NVarChar,300);
    sqlCommand1.Parameters.Add("@vFinalDT",SqlDbType.DateTime,8);
    sqlCommand1.Parameters.Add("@vFinalOther",SqlDbType.NVarChar,300);
    sqlCommand1.Parameters.Add("@vTitDT",SqlDbType.NVarChar,20);
    sqlCommand1.Parameters.Add("@vDateOther",SqlDbType.NVarChar,300);
    sqlCommand1.Parameters.Add("@vOthers",SqlDbType.NVarChar,600);
    sqlCommand1.Parameters.Add("@vUserName",SqlDbType.VarChar,100);//录入员
    sqlCommand1.Parameters.Add("@vSaveDT",SqlDbType.DateTime,8);  //录入时间
    sqlCommand1.Parameters.Add("@vResult",SqlDbType.Int,4);
    sqlCommand1.Parameters.Add("@vFlag",SqlDbType.Int,4);
    //-------------------------------------------------------------------------------------
    string vArticleStr = "";
    if(CheckBox1.Checked==true)//2.9.2
    {
    vArticleStr=vArticleStr+"1,";
    }
    if(CheckBox2.Checked==true)//2.10.1
    {
    vArticleStr=vArticleStr+"2,";
    }
    if(CheckBox3.Checked==true)//5.6.2
    {
    vArticleStr=vArticleStr+"3,";
    }
    if(CheckBox4.Checked==true)//5.7.1
    {
    vArticleStr=vArticleStr+"4,";
    }
    if(CheckBox5.Checked==true)//其它
    {
    vArticleStr=vArticleStr+"5,";
    } sqlCommand1.Parameters["@vSn"].Value=txt_TbtSn.Text; //通报号
    sqlCommand1.Parameters["@vWto"].Value=dwnLst_Member.SelectedValue.Remove(0,4).Trim();//通报成员
    sqlCommand1.Parameters["@vType"].Value=dwnLst_Type.SelectedIndex;//通报类型
    sqlCommand1.Parameters["@vAgency"].Value=TextBox1.Text;//负责部门
    sqlCommand1.Parameters["@vArticle"].Value=vArticleStr;//依据条款
    sqlCommand1.Parameters["@vArticleOther"].Value=TextBox23.Text;//依据条款的其它项
    sqlCommand1.Parameters["@vColle"].Value="";//
    sqlCommand1.Parameters["@vHsClscode"].Value=TextBox6.Text;//HS代码
    sqlCommand1.Parameters["@vIcsClscode"].Value=TextBox7.Text;//Ics代码
    sqlCommand1.Parameters["@vTitle"].Value=TextBox9.Text;//标题
    sqlCommand1.Parameters["@vPage"].Value=TextBox10.Text;//页数
    sqlCommand1.Parameters["@vLanguage"].Value=TextBox11.Text;//语种
    sqlCommand1.Parameters["@vProducts"].Value=TextBox3.Text;//产品
    sqlCommand1.Parameters["@vOntent"].Value=TextBox12.Text;//内容简述
    sqlCommand1.Parameters["@vObjRati"].Value=TextBox13.Text;//目标理由
    sqlCommand1.Parameters["@vReleDocu"].Value=TextBox14.Text;//相关文件
    sqlCommand1.Parameters["@vPubdate"].Value=Convert.ToDateTime(TextBox2.Text);//发布日期
    //sqlCommand1.Parameters["@vAdopDT"].Value=TextBox15.Text;//批准日期改
    sqlCommand1.Parameters["@vAdopOther"].Value=TextBox16.Text;//批准日期原
    //sqlCommand1.Parameters["@vForceDT"].Value=TextBox17.Text;//生效日期改
    sqlCommand1.Parameters["@vForceOther"].Value=TextBox18.Text;//生效日期原
    if(TextBox19.Text=="")
    {
    sqlCommand1.Parameters["@vFinalDT"].Value=Convert.ToDateTime("1900-01-01");//提意见截止日期改
    }
    else
    {
    sqlCommand1.Parameters["@vFinalDT"].Value=Convert.ToDateTime(TextBox19.Text);//提意见截止日期改
    }
    sqlCommand1.Parameters["@vFinalOther"].Value=TextBox20.Text;//提意见截止日期原
    sqlCommand1.Parameters["@vTitDT"].Value="";//修订日期
    sqlCommand1.Parameters["@vDateOther"].Value="";//
    sqlCommand1.Parameters["@vOthers"].Value=TextBox21.Text;//得到文本文件的机构
    sqlCommand1.Parameters["@vUserName"].Value=Session["User_Name"].ToString();//录入员
    sqlCommand1.Parameters["@vSaveDT"].Value=Convert.ToDateTime(DateTime.Now.ToString());  //录入时间
    sqlCommand1.Parameters["@vResult"].Direction = ParameterDirection.Output;
    sqlCommand1.Parameters["@vFlag"].Value=0;//插入通报
    //try
    //{
    sqlCommand1.ExecuteNonQuery();
    string vResult = sqlCommand1.Parameters["@vResult"].Value.ToString();
    int vResultVal = Convert.ToInt32(vResult);
    if(vResultVal==1)
    {
    JavaScript script = new JavaScript(this.Page);
    script.ShowMessage("此通报可能已经录入,请您重新录入其它的通报!");
    }
    if(vResultVal==0)
    {
    TextClear();
    TBT_DataBind();//重新绑定数据
    JavaScript script = new JavaScript(this.Page);
    script.ShowMessage("此通报录入成功!");
    }
    //}
    //catch
    //{
    // JavaScript script = new JavaScript(this.Page);
    // script.ShowMessage("通报录入失败,请重新录入!");
    //}
    //finally
    //{
    // sqlConnection1.Close();
    //}

    }