首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# and ms sql存储过程问有关问题

2011-12-19 
C# and ms sql存储过程问问题//stringStfIdRequest.QueryString.GetValues( StfId ).GetValue(0).ToStr

C# and ms sql存储过程问问题
//string   StfId   =   Request.QueryString.GetValues( "StfId ").GetValue(0).ToString();
                //string   QbNumber   =   Request.QueryString.GetValues( "QbNumber ").GetValue(0).ToString();
                //string   Money   =   Request.QueryString.GetValues( "Money ").GetValue(0).ToString();
//以上为取值,现在测试直接用
                string   StfId   =   "12 ";
                string   QbNumber   =   "2222222 ";
                string   Money   =   "5 ";

                SqlConnection   Conn   =   new   SqlConnection(System.Configuration.ConfigurationSettings.AppSettings.Get( "DataConnectionString "));
                Conn.Open();


                SqlCommand   CmdUpdate   =   new   SqlCommand( "Pro_QbType ",   Conn);
                CmdUpdate.CommandType   =   CommandType.StoredProcedure;
                CmdUpdate.Parameters.Add( "@StfId ",   SqlDbType.VarChar,4).Value   =   StfId;
                CmdUpdate.Parameters.Add( "@QBValues ",SqlDbType.VarChar,4).Value   =   Money;


                //建立并添加和“@QBcode   OUTPUT”对应的参数
                SqlParameter   parmReturnValue   =   new   SqlParameter( "@QBcode ",   SqlDbType.VarChar,20);
                //parmReturnValue.IsNullable   =   true;
                parmReturnValue.Direction   =   ParameterDirection.Output;
                CmdUpdate.Parameters.Add(parmReturnValue);

                CmdUpdate.ExecuteNonQuery();
                QBcode   =   CmdUpdate.Parameters[ "@QBcode "].Value.ToString();

                SqlTransaction   Trans   =   Conn.BeginTransaction();
                try
                {
                        CmdUpdate.Transaction   =   Trans;
                        CmdUpdate.ExecuteNonQuery();
                        QBcode   =CmdUpdate.Parameters[ "@QBcode "].Value.ToString();
                        Trans.Commit();
                        CmdUpdate.Dispose();
                        Conn.Close();
                }
                catch   (Exception   Err)


                {

                          Response.Write(Err.Message);

                }    
说明:
在MS   SQL2005中执行有返回值,在程序中测试就是为空?

[解决办法]
QBcode =CmdUpdate.Parameters[ "@QBcode "].Value.ToString();
Trans.Commit();
这两句的顺序换一下,先提交事务,再取数据
[解决办法]
一定是顺序有问题

热点排行