如何在c中添加自动递增和主键

本文关键字:添加 | 更新日期: 2023-09-27 18:19:51

如何使用c#添加自动增量和主键?

im使用sql server 2008和sqlite

这是我的代码

使用sqlite

Dictionary<String, String> field = new Dictionary<string, string>();
            field.Add("id", "INT");
            field.Add("mac", "VARCHAR(25)");
            field.Add("serial_number", "VARCHAR(25)");
            cDatabaseSQLite.CreateTables("satuan", field);

使用sql server

Dictionary<String, String> field = new Dictionary<string, string>();
            field.Add("id", "INT");
            field.Add("mac", "VARCHAR(25)");
            field.Add("serial_number", "VARCHAR(25)");
            cDatabaseSQLServer.CreateTables("satuan", field);

编辑

public int CreateTables(String tableName, Dictionary<String, String> data)
        {
            switch (sqlType)
            {
                case DATABASE_SQL_TYPE.DATABASE_SQL_TYPE_SQLITE:
                    return cSQLite.CreateTables(tableName, data);
                case DATABASE_SQL_TYPE.DATABASE_SQL_TYPE_MSSQL:
                    return cSQL.CreateTables(tableName, data);
            }
            return 0;
        }

public int CreateTables(String tableName, Dictionary<String, String> data)
        {
            string s = "CREATE TABLE " + tableName + " (";
            bool first = true;
            foreach (KeyValuePair<String, String> val in data)
            {
                if (first)
                {
                    first = false;
                }
                else
                {
                    s = s + ",";
                }
                string s1;
                s1 = String.Format("{0} {1}", val.Key, val.Value);
                s = s + s1;
            }
            s = s + ")";
            return this.ExecuteNonQuery(s);
        }

如何在c中添加自动递增和主键

对于SQL Server,请检查http://www.w3schools.com/sql/sql_autoincrement.asp对于SQLitehttp://www.tutorialspoint.com/sqlite/sqlite_using_autoincrement.htm

所以,我认为你的代码看起来一定像这个

用于SQLite

Dictionary<String, String> field = new Dictionary<string, string>();
            field.Add("id", "INTEGER PRIMARY KEY AUTOINCREMENT");
            field.Add("mac", "VARCHAR(25)");
            field.Add("serial_number", "VARCHAR(25)");
            cDatabaseSQLite.CreateTables("satuan", field);

这适用于SQL Server

Dictionary<String, String> field = new Dictionary<string, string>();
            field.Add("id", "INT PRIMARY KEY IDENTITY");
            field.Add("mac", "VARCHAR(25)");
            field.Add("serial_number", "VARCHAR(25)");
            cDatabaseSQLServer.CreateTables("satuan", field);

在sql server中,关键字是PRIMARY KEY和IDENTITY,对于sql lite,关键字是PROMARY KEY AUTOINCREMENT。