Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#如何通过编程指定列作为主索引_C#_Mysql_Sql_Sql Server - Fatal编程技术网

c#如何通过编程指定列作为主索引

c#如何通过编程指定列作为主索引,c#,mysql,sql,sql-server,C#,Mysql,Sql,Sql Server,我正在使用c#中的以下代码在sql中创建表(TestTable),现在我正在尝试在col2上为该表指定一个主索引,有人能建议我如何通过代码实现这一点吗 Server srv = new Server("(local)"); Database db = srv.Databases["AdventureWorks2012"]; Table tb = new Table(db, "TestTable"); Column col1 = new Column(tb, "Name", DataType.N

我正在使用c#中的以下代码在sql中创建表(TestTable),现在我正在尝试在col2上为该表指定一个主索引,有人能建议我如何通过代码实现这一点吗

Server srv = new Server("(local)");
Database db = srv.Databases["AdventureWorks2012"];

Table tb = new Table(db, "TestTable");
Column col1 = new Column(tb, "Name", DataType.NChar(50));
Column col2 = new Column(tb, "ID", DataType.Int);

tb.Columns.Add(col1); 
tb.Columns.Add(col2); 
tb.Create();

创造这样的东西

   CREATE TABLE table_name
    (
    column_name1 data_type(size) constraint_name,
    column_name2 data_type(size) constraint_name,
    column_name3 data_type(size) constraint_name,
    ....
    );
我们使用字符串生成器连接查询,然后执行查询

    StringBuilder query = new StringBuilder();
    query.Append("CREATE TABLE ");
    query.Append(tableName);
    query.Append(" ( ");

    for (int i = 0; i < columnNames.Length; i++)
    {
        query.Append(columnNames[i]);
        query.Append(" ");
        query.Append(columnTypes[i]);
        if (i=0)
        query.Append(" PRIMARY KEY   , ");
        else
        query.Append(" , ");
    }

    if (columnNames.Length > 1) { query.Length -= 2; }  //Remove trailing ", "
    query.Append(")");
    SqlCommand sqlQuery = new SqlCommand(query.ToString(), sqlConn);
    SqlDataReader reader = sqlQuery.ExecuteReader();
StringBuilder查询=新建StringBuilder();
query.Append(“创建表”);
query.Append(tableName);
查询。追加(“”);
for(int i=0;i1){query.Length-=2;}//删除尾部“,”
查询。追加(“)”;
SqlCommand sqlQuery=新的SqlCommand(query.ToString(),sqlConn);
SqlDataReader=sqlQuery.ExecuteReader();

可能重复不,这里他想通过编程在数据库中创建一个表。如果你看了这篇文章,你可以将数据表转换为数据库中的选项卡。此解决方案是通用的,应该适用于您想要转换的任何数据表。但是我不知道你为什么用这种方式创建表格,因为这不是常用的方法。该职位: