请注意,这是所有SQL Server.
好的,所以基表看起来像这样(称之为NameTable):
ID | Name
___________________
1 | Randy
2 | Kenny
3 | Stan
4 | Kyle
5 | Cartman
Run Code Online (Sandbox Code Playgroud)
现在我将运行一个SQL查询:
SELECT * FROM [NameTable] WHERE Name IN ("Kyle", "Stan", "Kenny", "Cartman", "Randy")
Run Code Online (Sandbox Code Playgroud)
ID | Name
___________________
1 | Randy
2 | Kenny
3 | Stan
4 | Kyle
5 | Cartman
Run Code Online (Sandbox Code Playgroud)
这是预期的.这很好,但我需要的是按照它们在IN语句中出现的顺序来排序数据.
所以在这种情况下:凯尔,斯坦,肯尼,卡特曼,兰迪.
请特别注意,这不符合标准订单,因为它不一定按字母顺序排列
ID | Name
___________________
4 | Kyle
3 | Stan
2 | Kenny
5 | Cartman
1 | Randy …
Run Code Online (Sandbox Code Playgroud) 那么主要的问题是我在尝试插入数据条目时遇到错误.
(不自动递增主键)
表创建:
SQLiteConnection _sqliteCon = new SQLiteConnection(_connectStr);
_sqliteCon.Open();
string query5 = "CREATE TABLE Merkmal(MerkmalID INT PRIMARY KEY NOT NULL, ";
query5 += "MerkmalName_FR TEXT);";
SQLiteCommand command5 = new SQLiteCommand(query5, _sqliteCon);
command5.ExecuteNonQuery();
_sqliteCon.Close();
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常.
现在为插入:( 我假设这是我的错误发生的地方)
SQLiteConnection _sqliteCon = new SQLiteConnection(_connectStr);
_sqliteCon.Open();
SQLiteCommand insertSQL = new SQLiteCommand("INSERT INTO Merkmal(MerkmalID,MerkmalName_FR) VALUES (?,?)",_sqliteCon);
insertSQL.Parameters.Add(new SQLiteParameter("param1",null));
insertSQL.Parameters.Add(new SQLiteParameter("param2",SomeString));
insertSQL.ExecuteNonQuery();
_sqliteCon.Close();
Run Code Online (Sandbox Code Playgroud)
有些事情值得注意:
我试图根本没有放价值.(使用硬编码值)
尝试插入时,我收到非null异常错误.
创建或插入表的正确方法是什么,以便自动增加主键
先谢谢你们.