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

请问一下关于留言的存储过程

2012-01-06 
请教一下关于留言的存储过程USEtest存储过程的代码如下:GOCREATEPROCEDUREAddword@gNamevarchar(50),@gCit

请教一下关于留言的存储过程
USE   test
存储过程的代码如下:

GO
CREATE   PROCEDURE   Addword  
          @gName   varchar(50),
          @gCity   varchar(50),
          @gMail   varchar(50),
          @gQQ   varchar(50),
          @gURL   varchar(50),
          @gTitle   nvarchar(200),
          @gContent   ntext
AS        
                INSERT   INTO   Gbook(gbName,gbCity,gbMail,gbQQ,gbURL,gbTitle,gbContent)
                        VALUES(@gName,@gCity,@gMail,@gQQ,@gURL,@gTitle,@gContent)  
GO

提交的代码如下:

SqlConnection   Conn   =   new   SqlConnection( "Data   Source=localhost;Initial   Catalog=test;User   ID=sa;Password=123 ");
                        SqlCommand   Comm   =   new   SqlCommand( "Addword ",   Conn);
                        Comm.CommandType   =   CommandType.StoredProcedure;
                        Comm.Parameters.Add( "@gName ",   SqlDbType.VarChar);
                        Comm.Parameters.Add( "@gCity ",   SqlDbType.VarChar);
                        Comm.Parameters.Add( "@gMail ",   SqlDbType.VarChar);
                        Comm.Parameters.Add( "@gQQ ",   SqlDbType.VarChar);
                        Comm.Parameters.Add( "@gURL ",   SqlDbType.VarChar);
                        Comm.Parameters.Add( "@gTitle ",   SqlDbType.nvarchar);
                        Comm.Parameters.Add( "@gContent ",   SqlDbType.ntext);
                        //给存储过程的参数付值  
                        Comm.Parameters[ "@gName "].Value   =   gName.Text;
                        Comm.Parameters[ "@gCity "].Value   =   gCity.Text;
                        Comm.Parameters[ "@gMail "].Value   =   gMail.Text;
                        Comm.Parameters[ "@gQQ "].Value   =   gQQ.Text;
                        Comm.Parameters[ "@gURL "].Value   =   gURL.Text;
                        Comm.Parameters[ "@gTitle "].Value   =   gTitle.Text;
                        Comm.Parameters[ "@gContent "].Value   =   gContent.Value;


                        Comm.ExecuteNonQuery();
                        //关闭连接  
                        Conn.Close();

捕捉到的异常是“未将对象引用设置到对象的实例。”请问一下是哪里的问题呢?

[解决办法]
连接应该先打开:Conn.Open();
别的没有问题,会不会是gContent为空?自己调试一下。
[解决办法]
加上:
Conn.Open();
Comm.CommandType = CommandType.StoreProdure

[解决办法]
其实用存储过程来进行更新,提交,删除,查询这些只是用到了SQL的最简单语句
比如
查询:
select 字段1,字段…… from 表名 where 字段= '条件 '
插入
insert into 表名(字段1,字段2……)VALUES(对应字段1信息,字段2信息……) where 字段= '条件 '

insert into 表名(字段1,字段2……)
select
对应字段1信息 as 字段名,
对应字段2息 as 字段名
where 字段= '条件 '

更新
update 表名 set 字段1= '更新内容1 ', '字段2= '更新内容2 where 字段名= '条件 '

删除

delete from 表名 where 字段名= '条件 '


热点排行