2011-01-23 11 views
0

私はMySQL 5とasp.netを使用しようとしています4asp.netページでMySQLデータベースにデータを挿入するには?

私はリンクを成功させ、MySQL DBからのデータを表示しますが、問題はDMLコマンド内にあります!!

私がやったことはinsertコマンドをテストするための単純なページです

Imports System.Data.SqlClient 
Imports MySql.Data.MySqlClient 

Partial Class _Default 
    Inherits System.Web.UI.Page 

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim MyConnection As String = "server=localhost;User Id=root;password=123;database=cms" 

     Dim Connection As New MySqlConnection(MyConnection) 

     Connection.Open() 

     Dim Sql As String = "INSERT INTO [CMS.tbimages] (Title,Description) VALUES (parm2,parm3);" 
     Dim cmd As New MySqlCommand(Sql, Connection) 

     cmd.Parameters.Add(New MySqlParameter("parm2", "hajjaj")) 
     cmd.Parameters.Add(New MySqlParameter("parm3", "hajjaj")) 

     cmd.ExecuteNonQuery() 
     cmd.Connection.Close() 
    End Sub 
End Class 

私のコードを見てください、私はそれがINSERTコマンドを実行する必要があり、それをクリックしたときにボタンを追加しました!!

が、私はそれをクリックしたとき、それは私にエラー与える:あなたのSQL構文でエラーが発生している

#の42000; が近く を使用する権利構文についてはMySQLサーバ バージョンに対応していること取扱説明書を確認してください1

ラインではない '[CMS.tbimages]( タイトル、説明) を(PARM2、PARM3)VALUES' :私は、INSERT文を変更するには、他の多くの方法を試してみました:

は、 "[tbimages]([タイトル]、[説明])VALUES。INSERT INTO(?、?)"
「[tbimages]([タイトル]。INSERT INTO 、[説明])
VALUES(?タイトル、説明) "
[tbimages]([タイトル]、[説明])VALUES(タイトル、説明)

+0

投稿の上にある機能とその下にあるプレビューウィンドウを使用して、あなたの投稿があなたの希望通りに表示されるようにしてください。 :) –

答えて

3

INTOINSERTはこれを試してみてください:

Dim Sql As String = "INSERT INTO CMS.tbimages (Title,Description) VALUES (?parm2,?parm3);" 
Dim cmd As New MySqlCommand(Sql, Connection) 

cmd.Parameters.Add(New MySqlParameter("?parm2", "hajjaj")) 
cmd.Parameters.Add(New MySqlParameter("?parm3", "hajjaj")) 

また、thisチュートリアルでは助けになることがあります。

+0

ああ、そうです。 ありがとうございます。 問題が解決しました – HAJJAJ

+0

@HAJJAJ:問題ありません!答えとして記入することを忘れないでください。 :) –

1

MySQLは、それがバッククォートを使用して、識別子の周りのブラケットを使用していません:

Dim Sql As String = "INSERT INTO `CMS.tbimages` (Title,Description) VALUES (?,?)" 

テーブル名は任意の競合が発生していない場合、あなたはどちらかのバッククォートで囲む必要はありません。

Dim Sql As String = "INSERT INTO CMS.tbimages (Title,Description) VALUES (?,?)" 

データベースドライバがどのようにパラメータを処理するのかよく分かりませんが、名前を付けないようにしてください。

+0

はい、あなたは正しいです! 私のアプリケーションではこれを使用していて、動作しています: Dim Sql As String = "INSERT INTO CMS.tbimages(タイトル、説明)VALUES(?parm2、?parm3);" ご協力いただきありがとうございます:) – HAJJAJ

関連する問題