2

私のsqliteテーブルはこのようなものです

 content_id      content_no      content_1       content_2
  1               1:1             NULL            1:1 text
  2               1:2             NULL            1:2 text

今、コンテンツを「content_1」に挿入したいと思います。content_no のみが content_1 の 1:1 に一致します。

私の挿入コードは次のようなものです:

 cmd.CommandText = "insert into Content (content_1) values (?)";

 SQLiteParameter Field3 = cmd.CreateParameter();
 cmd.Parameters.Add(Field3);
 Field3.Value = node.InnerText;

しかし、このようなコンテンツを挿入しています

 content_id      content_no      content_1       content_2
  1               1:1              NULL           1:1 text
  2               1:2              NULL           1:2 text
                                 1:1 text       
                                 1:2 text       

私はこのようにしたくない。最後の 2 行は最初の 2 行に移動する必要があります

4

4 に答える 4

5
using (SQLiteTransaction SQLiteTrans = connection.BeginTransaction())
               {
                   using (SQLiteCommand cmd = connection.CreateCommand())
                   {
                     cmd.CommandText = ("update contents set content_1 ='" + paraNode + "' where content_id ='" + Count + "'");


                       SQLiteParameter Field1 = cmd.CreateParameter();
                       SQLiteParameter Field2 = cmd.CreateParameter();
                       cmd.Parameters.Add(Field1);
                       cmd.Parameters.Add(Field2);
                       cmd.ExecuteNonQuery();
                   }
                   SQLiteTrans.Commit();
               }

ハッピーコーディング:)

于 2013-03-22T04:52:58.557 に答える
2

私はこのようにしたくない。最後の 2 行は最初の 2 行に移動する必要があります

ステートメントではなく、UPDATEステートメントが必要ですINSERT

cmd.CommandText = "Update Content SET content_1 = @pcontent_1 WHERE content_id = @pcontent_id";

cmd.Parameters.Add(new SQLiteParameter("@pcontent_1", "1:1"));
cmd.Parameters.Add(new SQLiteParameter("@pcontent_id", node.InnerText));

content_idandcontent_1をクエリに渡す必要がある場所。

于 2013-03-21T07:20:22.997 に答える
0

delete以前のコンテンツとinsert新しいコンテンツを使用する必要があるか、

UPDATE既存のコンテンツに対してクエリを実行するだけです。

于 2013-03-21T07:21:41.660 に答える