sql怎么添加参数字段 sql中一个表的列是动态变化的,请问可不可以动态添加参数字段例如这种语句 exec ('alter table tbl_MonthTable3 add ' +@DateMonth+' nvarchar(25)')虽然语法没有问题,但是执行没有效果。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的@DateMonth是数字还是字符串啊 create table tbl_MonthTable3(id int identity)declare @DateMonth as varchar(10)select @DateMonth='C1'exec ('alter table tbl_MonthTable3 add ' +@DateMonth+' nvarchar(25)')select * from tbl_MonthTable3id C1----------- -------------------------(0 行受影响)没问题啊 @DateMonth 是一个可变字符串 @DateMonth是传到存储过程中的参数 修改表结构需要你的数据库登陆账户具有相应的权限,参见MSSQL2000 服务器角色和数据库角色关系:http://hi.baidu.com/idragonet/blog/item/e2d0670e5777b7cf7acbe118.html sqlparameter paramDateMonth = new sqlparameter("@DateMonth", sqldatatype.datetime); SqlCommand SCommand = new SqlCommand(); SCommand.Connection = new sqlconnection("你的连接字符串"); SCommand.CommandText = "alter table tbl_MonthTable3 add ' +@DateMonth+' nvarchar(25)"; SCommand.Parameters.Add(paramDateMonth); SCommand.Connection.Open(); SCommand.ExecuteNonQuery(); SCommand.Connection.Close(); datatime dt = paramDateMonth.value.tostring(); exec ('alter table tbl_MonthTable3 add ''' +@DateMonth+''' nvarchar(25)') declare @DateMonth nvarchar(25)set @DateMonth = Convert(varchar(10),@startTime,120)exec ('alter table tbl_MonthTable3 add ' +@DateMonth+' nvarchar(25)')刚刚测试发现参数是像日期这种字符串"2008-06"不能直接添加,不知道怎么解决 我输入的参数是datdatetime类型的,这种如果在外部处理成'[日期]'这种格式执行没问题,但是不知道在存储过程内部有没有办法处理呢,9L的方法提示有错误,谢谢解答 exec('alter table Tb add '+cast(@DateMonth as varchar))应该为字段名 Socket.Blocking=true会阻塞应用程序主线程吗? WinProcHooker 如何将项目脱离TFS管理 摇奖软件 保存数据之后 如何换行? C#FILE类的OpenRead函数读取某个文件失败时,程序会报错,那对出错如何处理呢? 如何把一个表中的id 添加到一个二维数组中去? C# Winform treeView 填充 急!! 命名空间访问问题 copall(民工->>席卷天下-包举宇内-囊括四海-并吞八荒!)、Knight94(愚翁)请帮忙 C#定义Class的问题 请推荐学习VisualC#的入门书 悲剧了,VS2005控件全部不可用
select @DateMonth='C1'
exec ('alter table tbl_MonthTable3 add ' +@DateMonth+' nvarchar(25)')
select * from tbl_MonthTable3id C1
----------- -------------------------(0 行受影响)没问题啊
参见MSSQL2000 服务器角色和数据库角色关系:
http://hi.baidu.com/idragonet/blog/item/e2d0670e5777b7cf7acbe118.html
SqlCommand SCommand = new SqlCommand();
SCommand.Connection = new sqlconnection("你的连接字符串");
SCommand.CommandText = "alter table tbl_MonthTable3 add ' +@DateMonth+' nvarchar(25)";
SCommand.Parameters.Add(paramDateMonth);
SCommand.Connection.Open();
SCommand.ExecuteNonQuery();
SCommand.Connection.Close();
datatime dt = paramDateMonth.value.tostring();
set @DateMonth = Convert(varchar(10),@startTime,120)
exec ('alter table tbl_MonthTable3 add ' +@DateMonth+' nvarchar(25)')
刚刚测试发现参数是像日期这种字符串"2008-06"不能直接添加,不知道怎么解决
应该为字段名