zoukankan      html  css  js  c++  java
  • Transact-SQL 存储过程(c#调用执行)

    1. Microsoft SQL Server Management Studio 中创建 存储过程

        1.1 借助模板资源管理器中的Stored Procedure模板进行修改创建

        1.2 直接新建查询中sql创建

        (无output参数,无return值)

    use database
    GO
    
    create procedure proc_insert
    @barcode nvarchar(20),
    @docStatus smallint,
    --@docType nvarchar(5) = 'SF'  --默认值
    
    AS
    begin
    insert into tableexample(barcode,doc_status,editdate) values(@barcode,@docStatus,GETDATE())
    end
    

    2. c#程序中调用存储过程

    2.1 以文本形式调用(CommandType.Text)  

        SqlConnect conn= new SqlConnect("......");
        conn.open();
    
        string tempInsertStr = "EXEC proc_insert @barcode = " + barcode + ", @docStatus = " + (int)docStatus;
    
        using (SqlCommand cmd = new SqlCommand(tempInsertStr, Conn)) 
        {
            cmd.CommandType = CommandType.Text;
    
            cmd.CommandTimeout = 10;
    
            int result = cmd.ExecuteNonQuery();
    
        }
    conn.close();

    2.2 以存储过程形式调用(CommandType.StoredProcedure)

        SqlConnect conn= new SqlConnect("......");
        conn.open();
    
        string tempInsertStr = "proc_insert";
    
        using (SqlCommand cmd = new SqlCommand(tempInsertStr, Conn)) 
        {
            cmd.CommandType = CommandType.StoredProcedure;
    
            cmd.CommandTimeout = 10;
            //添加参数(尽量使用参数形式)
            cmd.Parameters.Add("@barcode",SqlDbType.VarChar).Value = barcode;
    //cmd.Parameters[0].Value= barcode; cmd.Parameters.Add(
    "@docStatus", SqlDbType.SmallInt).Value = (int)docStatus;
    //cmd.Parameters[1].Value= docStatus;
    int result = cmd.ExecuteNonQuery(); } conn.close();
  • 相关阅读:
    QTableWidget清空
    SQLite查询表是否存在
    QSplitter测试
    Qto_CoveringBaseQuantities
    osg旋转
    Qto_CurtainWallQuantities
    没有理清的一段代码
    方块
    Qto_DoorBaseQuantities
    全微分在近似计算中的应用
  • 原文地址:https://www.cnblogs.com/leenice/p/5198446.html
Copyright © 2011-2022 走看看