0
关于Sqlite插入或替换命令。sqlite插入或替换datagridview C#
我在做插入,如果不存在。 插入/更新的值来自绑定到数据表的datagridview。 数据表有一个TID列,它是主键。它也有其他列像Tname,TUtility ....
对于更新语句TID有一个值,并运行良好。但是对于插入语句,我希望序列号(即TID列)自动填充。
private void SaveData(DataGridView dgv)
{
using (SQLiteConnection conn = new SQLiteConnection(connString))
{
conn.Open();
dt = dt.GetChanges();
if (dt.Rows.Count > 0)
{
int dtlength = dt.Rows.Count;
DataRow[] arr = new DataRow[dtlength];
dt.Rows.CopyTo(arr, 0);
SQLiteCommand upCmd = new SQLiteCommand(
@"INSERT OR REPLACE
INTO
[Table1](
[TID],
[TName],
[TUtility],
[TType])values(@TID,@Tname,@TUtility,@TType),conn);
for (int i = 0; i < arr.Length; i++)
{
upCmd.Parameters.AddWithValue("@TID", Convert.ToInt32(arr[i]["SNo"]));
upCmd.Parameters.AddWithValue("@TName", arr[i]["Utility"].ToString());
upCmd.Parameters.AddWithValue("@TUtility", arr[i]["Plantname"].ToString());
upCmd.Parameters.AddWithValue("@TType", arr[i]["PlantType"].ToString())
da.UpdateCommand = upCmd;
this.da.UpdateCommand.ExecuteNonQuery();
}
我应该如何添加此TID值的方式是,当用户插入新行时,它应该自动放入序列号。 我的意思是:假设当前DGV中有4行。 DGV处于编辑模式(*),我正在添加一个新行。一旦用户试图在新行中输入一些数据,应该有一个序列号已经填充。
谢谢 孙