2009-07-14 9 views
2

過去1時間私はこのクエリのさまざまなバリエーションを試してきましたが、ユーザ名に誤りがあり、ユーザ名は普通の文字列で、xmlファイルからは特殊文字も何も含まれていませんこのSQLCeクエリで何が問題になりますか?

I私はSLQコンパクトを使用しています3.5

PS私は使ってみましたか?角括弧を持つ 'ユーザー' を取り巻くalt text http://clip2net.com/clip/m11962/1247582804-clip-16kb.png おかげで、 ニコラ

+0

どのようなエラーが表示されますか? –

+0

どのようなエラーメッセージが表示されますか? –

答えて

7

しようとすると、「[:代わりに@usernameでも、すべてのfeildsが "日付"

   C = nodeItem["user_from"].InnerText; 
       avatar = nodeItem["user_from_avatar"].InnerText; 
       string msgText = nodeItem["message"].InnerText; 
       DateTime dt=DateTime.Now; 

       string sql = "INSERT INTO posts(user,msg,avatar,date) VALUES(@username,@messige,@userpic,@thedate)"; 
       using (SqlCeCommand cmd = new SqlCeCommand(sql, connection)) 
       { 
        cmd.Parameters.Add("@username",C); 
        cmd.Parameters.Add("@messige", msgText.ToString()); 
        cmd.Parameters.Add("@userpic", avatar.ToString()); 
        cmd.Parameters.Add("@thedate", dt); 
        connection.Open(); 
        cmd.ExecuteNonQuery(); 
        adapter.Update(data); 
        connection.Close(); 
       } 

エラーMSGを除いて "NCHAR" です を動作していませんユーザー] '(および可能であれば日付)。 uはパラメータを直接使用することはできませんSQLCEで

1

私は文の意味:

string sql = "INSERT INTO posts(user,msg,avatar,date) VALUES(@username,@messige,@userpic,@thedate)"; 

が間違っています。それは

string sql = "INSERT INTO posts(user,msg,avatar,date) VALUES(?,?,?,?)"; 

なり、その後に続く必要があります: "?" のパラメータは次のように渡され

SQLCEで
using (SqlCeCommand cmd = new SqlCeCommand(sql, connection)) 
       { 
        cmd.Parameters.Add("@username",C); 
        cmd.Parameters.Add("@messige", msgText.ToString()); 
        cmd.Parameters.Add("@userpic", avatar.ToString()); 
        cmd.Parameters.Add("@thedate", dt); 
        connection.Open(); 
        cmd.ExecuteNonQuery(); 
        adapter.Update(data); 
        connection.Close(); 
       } 

希望します。

関連する問題