执行存储过程的问题
现有一存储过程代码如下:
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=数据库名称 "