C#中使用临时存储过程

ContractedBlock.gif ExpandedBlockStart.gif Code
        string strSql = "";
        SqlConnection sqlCon 
= new SqlConnection(HeadStartConnString);
        SqlCommand sqlCommStoreProcedue 
= new SqlCommand();
        sqlCommStoreProcedue.Connection 
= sqlCon;
        sqlCommStoreProcedue.CommandType 
= CommandType.Text;
        
if (chk.Checked)
ExpandedBlockStart.gifContractedBlock.gif        
{
          strSql 
= "Create PROCEDURE #ImgeUpdate \n @RptImage Image, \n @RptDescription varchar(1000) \n as update Reports set RptImage = @RptImage, RptDescription = @RptDescription where RptID = " + rptID;
        }

        
else
          strSql 
= "Create PROCEDURE #ImgeUpdate \n @RptDescription varchar(1000) \n as update Reports set RptDescription = @RptDescription where RptID = " + rptID; 

          sqlCommStoreProcedue.CommandText 
= strSql;
          sqlCon.Open();
          sqlCommStoreProcedue.ExecuteNonQuery();

        SqlCommand sqlCom 
= new SqlCommand();
        sqlCom.Connection 
= sqlCon;
        sqlCom.CommandType 
= CommandType.StoredProcedure;
        sqlCom.CommandText 
= "#ImgeUpdate";
        
if (chk.Checked)
ExpandedBlockStart.gifContractedBlock.gif        
{
            
if (filUL.HasFile)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                
int intImgSize = filUL.PostedFile.ContentLength;
                Stream ImgStream 
= filUL.PostedFile.InputStream;
                
byte[] ImgContent = new byte[intImgSize];
                
int intStatus = ImgStream.Read(ImgContent, 0, intImgSize);

                SqlParameter prmImg 
= new SqlParameter("@RptImage", SqlDbType.Image);
                prmImg.Value 
= ImgContent;
                sqlCom.Parameters.Add(prmImg);
                sqlCom.Parameters[
"@RptImage"].Direction = ParameterDirection.Input;
            }

        }

        SqlParameter prmDes 
= new SqlParameter("@RptDescription", SqlDbType.VarChar, 1000);
        prmDes.Value 
= txtDesp.Text.ToString().Trim();
        sqlCom.Parameters.Add(prmDes);
        sqlCom.Parameters[
"@RptDescription"].Direction = ParameterDirection.Input;
        
try
ExpandedBlockStart.gifContractedBlock.gif        
{
            sqlCom.ExecuteNonQuery();
            ClientScript.RegisterStartupScript(
this.GetType(), "closeWin_Save""<script>alert('Save This Record Succeed!');window.close();</script>");
        }

        
catch (SqlException sqlE)
ExpandedBlockStart.gifContractedBlock.gif        
{
            ClientScript.RegisterStartupScript(
this.GetType(), "Error_Msg""<script>alert('Save This Record Failing:" + sqlE.Message + "');</script>");
        }

        
finally
ExpandedBlockStart.gifContractedBlock.gif        
{
          sqlCommStoreProcedue.Dispose();
          sqlCom.Dispose();
          sqlCon.Close();
        }

存储过程的效率是比较高的。

 

转载于:https://www.cnblogs.com/lfzwenzhu/archive/2008/12/18/1357392.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值