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

asp.net 在SQLServer 中写一条简略的往数据库插入数据的存储过程,为什么总是报错

2013-07-08 
asp.net 在SQLServer 中写一条简单的往数据库插入数据的存储过程,为什么总是报错。报错(在此上下文中不允许

asp.net 在SQLServer 中写一条简单的往数据库插入数据的存储过程,为什么总是报错。
报错(在此上下文中不允许使用名称 "ggggggfffgg"。有效表达式包括常量、常量表达式和变量(在某些上下文中)。不允许使用列名。)

VS接受前台传递的参数       
 public void insertSite(string SiteName, string SiteUrl)
        {
            using (SqlConnection sqlconn = new SqlConnection(strconn))
            {
                sqlconn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = sqlconn;
                cmd.CommandText = "InsertSite";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@SiteName", SiteName);//传递过来的参数"ggggggfffgg"
                cmd.Parameters.AddWithValue("@SiteUrl",SiteUrl);
                //cmd.Parameters.AddWithValue("@FatherClassId",FatherClassId);
                cmd.ExecuteNonQuery();
            }
        }
简化后的存储过程:(为什么还报错啊)
ALTER proc [dbo].[InsertSite]

@SiteName nvarchar(50),
@SiteUrl nvarchar(50)
as

declare @TempSelect nvarchar(500)

set @TempSelect ='insert into Site(SiteName)values('+@SiteName+')'

execute sp_executesql @TempSelect

望各位帮帮,在线等哦。 ASP.NET SQL?Server
[解决办法]

引用:
引用:@SiteUrl   能告诉我在存储过程中是干什么的?
其实之前是有多项,我都去掉了结果还报错,
set @TempSelect ='insert into Site(SiteName)values('+@SiteName+','+@SiteUrl+')'
插入数字的话是不会报错的,插入字符串是会报错额。

这个是AJ……


insert into Site(SiteName)values(sadsajsjsjsj)
这个是输出后的SQL语句,你自己找哪里有问题

你的values('') 没有添加那个引号的,拼句子还不太熟练啊
[解决办法]
declare @SiteName nvarchar(50)
declare @SiteUrl nvarchar(50)

declare @TempSelect nvarchar(500)
set @SiteName='sadsajsjsjsj'

set @TempSelect ='insert into Site(SiteName)values('''+@SiteName+''')' -- 这样拼接,别忘了符号

print @TempSelect



[解决办法]
sql字符串的书写如下: insert into [Inform] values('title','content','true','2012/1/12')

sql字符串,要向数据库中插入 字符串、日期,其两边是需要加上单引号的

修改代码如下:         string sql = "insert into [Inform] values ('"+title+"','"+content+"','true','2012/1/12')";



你这边也是这个问题,传进去的ggggggfffgg拼接成sql语句后少单引号
楼主可以添加监控来查看sql语句

热点排行