注册 登录
编程论坛 ASP.NET技术论坛

各位来帮我分下下,给点意见:

BlizzardKen 发布于 2011-06-16 15:11, 574 次点击
我想通过一个button 按钮为数据库中的所有表添加一个字段:
只有本站会员才能查看附件,请 登录

button 按钮事件代码如下:
 
private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection mySqlConnection =
                 new SqlConnection("server=127.0.0.1;uid=sa;pwd=123456;database=KEN");
                     
               SqlCommand mySqlCommand = mySqlConnection.CreateCommand();

                  =
                 "alter table KEN1 add rowid varchar(12) " ;
(这是为一个表添加字段的sql语句,该怎么修改使它实现为数据库中的所有表都添加一个字段呢?求指点!!!!!!!!!!)
                 
               mySqlConnection.Open();

      
                SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();

               
                MessageBox.Show("添加ROWID字段成功!");
            mySqlDataReader.Read();
        
               
        }
怎么改这段代码,使它能实现为数据库中的所有表都添加一个字段呢?

[ 本帖最后由 BlizzardKen 于 2011-6-16 16:33 编辑 ]
5 回复
#2
冰镇柠檬汁儿2011-06-16 16:28
是不是你用的用户没有修改表的权限啊
#3
BlizzardKen2011-06-16 16:32
回复 2楼 冰镇柠檬汁儿
不是用户权限问题,我是想为数据库中的所有表都添加一个字段。我现在所写的只是为单个表添加的。
#4
rosechihan2011-06-20 21:30
用存储过程吧!!
Create transaction trantest
begin tran
declare @aa varchar(50)
begin try
alter table KEN1 add rowid @aa;
alter table KEN2 add rowid @aa;
alter table KEN3 add rowid @aa;
alter table KEN4 add rowid @aa;
alter table KEN5 add rowid @aa;
tran commit
end try
begin catch
tran rollback
end catch
end tran



我的思路是这样的,但是你上面的代码要有简单修改(commandtext)
#5
winners2011-06-28 06:57
在每个数据库中都存在一个sysobjects表,里面存储了数据库中所有的表,你可以遍历这些数据表,然后将表名作为变量,加入到SQL语句中。
#6
wangnannan2011-06-28 10:26
要为数据库中的所有表添加一个字段 就需要查询到数据库中的所有表
通过select name from sysobjects where type='u' 查询到所有用户表 可以存储到datatable 或数组中
然后遍历DataTable或数组 循环执行 或者用事务一起执行
alter table 查询到的表名 add rowid varchar(12)
1