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

执行存储过程的有关问题

2012-01-13 
执行存储过程的问题现有一存储过程代码如下:CREATEPROCEDUREBbs_UpdateAnswerNum(@TitleIDint)ASUPDATEBBS

执行存储过程的问题
现有一存储过程代码如下:
CREATE   PROCEDURE   Bbs_UpdateAnswerNum
(
        @TitleID   int
)
AS

UPDATE  
        BBSTitle

SET
        AnswerNum   =   AnswerNum   +   1

WHERE
        TitleID   =   @TitleID
GO

App_Code/AddNumDate.cs代码:
using   System;
using   System.Data;
using   System.Configuration;
using   System.Web;
using   System.Web.Security;
using   System.Web.UI;
using   System.Web.UI.WebControls;
using   System.Web.UI.WebControls.WebParts;
using   System.Web.UI.HtmlControls;
using   SQLHelper;
using   System.Data.SqlClient;


///   <summary>
///   AddNumDate   的摘要说明
///   </summary>
namespace   WebAddNumDate
{
        public   class   AddNumDate
        {
                public   AddNumDate()
                {

                }
                public   void   UpdateAnswerNum(int   nTitleID)
                {
                        ///定义类SQLHelper
                        SQLHelper.SQLHelper   sqlHelper   =   new   SQLHelper.SQLHelper();

                        ///创建访问数据库的参数
                        SqlParameter[]   paramList   =   {
                                sqlHelper.CreateInParam( "@TitleID ",   SqlDbType.Int,   4,nTitleID)
                               
                        };

                        try
                        {
                                ///执行存储过程
                                sqlHelper.RunProc( "Bbs_UpdateAnswerNum ",   paramList);
                               
                        }
                        catch   (Exception   ex)
                        {
                                ///抛出执行数据库异常
                                SystemError.CreateErrorLog(ex.Message);


                                throw   new   Exception(ex.Message,   ex);
                        }
                }


        }

}

页面CS代码:
      protected   void   UpdateButton_Click(object   sender,   EventArgs   e)
        {
                ///定义类

                AddNumDate   addnumdate   =   new   AddNumDate();
               

                        addnumdate.UpdateAnswerNum(Int32.Parse(FormView1.DataItemIndex.ToString()));//错误可能是这行,但找不到解决办法。

        }

在执行时提示:未将对象引用设置到对象的实例。  

行   37:                           {
行   38:                                   ///执行存储过程
行   39:                                   sqlHelper.RunProc( "Bbs_UpdateAnswerNum ",   paramList);
行   40:                                  
行   41:                           }
 

源文件:   f:\Web\www.jxdom.cn\jxdom\Web\App_Code\AddNumDate.cs         行:   39  

找了好久没找到原因,不知道是我哪条语句写错,请问解决办法。。

[解决办法]
提供 sqlHelper的代码看一下
问题应该出现在sqlHelper 里
[解决办法]
应该是你没有写连接数据库的字符串
执行语句应该如下:
SqlHelper.ExecuteNonQuery(connection_string, CommandType.StoredProcedure, "Bbs_UpdateAnswerNum ", paramList);

connection_string是你数据库的连接字符串,such as "Server=(local);user id=sa;password=password;DataBase=数据库名称 "

热点排行