如何在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);
}
对于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。