1

コンパクト データベースにデータを挿入しようとすると、次のエラーが発生しました。

There was an error parsing the query. [ Token line number = 1,Token line offset = 1,Token in error = USE ]

そして、これが私のコードで、主にオンラインで見つかります:

                SqlCeConnection conn = new SqlCeConnection(@"Data Source=|DataDirectory|\CompactDatabase.sdf");
                conn.Open();

                SqlCeCommand cmd = conn.CreateCommand();
                cmd.CommandText = "USE Movie INSERT INTO Movie(title, ean) VALUES(?,?)";
                cmd.Parameters.AddWithValue("@title", title);
                cmd.Parameters.AddWithValue("@ean", ean);
                cmd.Prepare();                
                cmd.ExecuteNonQuery();

誰でも問題を理解できますか?

4

3 に答える 3

3

誰でも問題を理解できますか?

句を捨ててUSE、代わりにこのクエリを実行してください。

INSERT INTO Movie(title, ean) VALUES(?,?)

USEは、T-SQL のデータベース間のコンテキスト切り替え句ですが、ここでは適用できません。

于 2013-01-22T10:40:07.160 に答える
0

試す:

USE Movie; INSERT INTO Movie(title, ean) VALUES(?,?)

IIRC に注意してください。これは、適切な SQL;と同じです。GO

于 2013-01-22T10:52:59.257 に答える
0

パラメータ化された側については、コマンドテキストが間違っています。で試してみ@title@eanください?,?。このような;

cmd.CommandText = "INSERT INTO Movie(title, ean) VALUES(@title, @ean)";

USE Movie部分も削除します。

C# SqlParameterどの記事が素晴らしいかチェックしてください。

于 2013-01-22T10:44:36.170 に答える