关于SQLDMO的问题,用SQLDMO创建表的时候怎样添加主键???

jinqinghai 2006-08-13 11:17:23
自己写的创建表的方法

其中
DatabaseName ---- 数据库名称
TableName ---- 表名称
dt ---- 存放字段信息的DataTable


public void InsertTable(string DatabaseName, string TableName,DataTable dt)
{
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();
svr.Connect(ServerName, UserName, Password);
SQLDMO.Database myDb = new SQLDMO.DatabaseClass();
myDb = (SQLDMO.Database)svr.Databases.Item(DatabaseName, "owner");
SQLDMO.Table myTb = new SQLDMO.TableClass();
myTb.Name = TableName;
foreach (DataRow dr in dt.Rows)
{
SQLDMO.Column column = new SQLDMO.ColumnClass();
column.Name = dr["ColumnName"].ToString();
column.Datatype = dr["ColumnType"].ToString();
if(dr["ColumnType"].ToString()=="varchar" || dr["ColumnType"].ToString()=="nvarchar")
column.Length = int.Parse(dr["ColumnSize"].ToString());
column.AllowNulls = bool.Parse(dr["ColumnNull"].ToString());
myTb.Columns.Add(column);
}
myDb.Tables.Add(myTb);
}

可是没找到可以添加主键的方法,忘高手指点!!!!!!!!!!!
...全文
307 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2006-08-14
  • 打赏
  • 举报
回复
SQLDMO.Key key = new SQLDMO.KeyClass();
key.Name = "123";
key.Type = SQLDMO.SQLDMO_KEY_TYPE.SQLDMOKey_Primary;
SQLDMO.Table myTb = new SQLDMO.TableClass();
myTb.Keys.Add( key );
jinqinghai 2006-08-14
  • 打赏
  • 举报
回复
hdt(倦怠)的方法果然好使,不过少了一句

key.KeyColumns.Add(keyName);

非常感谢,结贴!
addwing 2006-08-14
  • 打赏
  • 举报
回复
关注,接分,帮你顶!
csShooter 2006-08-14
  • 打赏
  • 举报
回复
学习

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧