[]
asp.net'te sqldatasource üzerinden mysql'e çift insert query'si girmek
ya oluşturduğum insert query'si ni çıkarttırıp navicat'ten girince sorunsuz bir şekilde uyguluyor ama sayfa üzerinden girince şu hatayı alıyorum:
"
Server Error in '/Takil' Application.
ERROR [42000] [MySQL][ODBC 5.1 Driver][mysqld-5.0.27-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; INSERT INTO mekanyaftalari (mekanyaftalari_mekanid, mekanyaftalari_yaftaid) VA' at line 1
"
kullandığım sayfadaki kod şu:
"
string Query = "INSERT INTO mekanlar (mekanlar_isim, mekanlar_ilcesemt, mekanlar_iletisim_bilgileri, mekanlar_aciklama, mekanlar_birincilyafta, mekanlar_mekansahibi) VALUES ('" + TextBox_MekanDuzenle_Ad.Text + "', '" + TextBox_MekanDuzenle_Ilcesemt.Text + "', '" + TextBox_MekanDuzenle_Iletisim.Text + "', '" + HTMLInput(TextBox_MekanDuzenle_Aciklama.Text) + "', '" + ListBox_MekanDuzenle_MekanYaftalari.Items[0].Value + "', " + Data_UserID + "); INSERT INTO mekanyaftalari (mekanyaftalari_mekanid, mekanyaftalari_yaftaid) VALUES (LAST_INSERT_ID(), " + ListBox_MekanDuzenle_MekanYaftalari.Items[0].Value + ");";
for (int K = 1; K < ListBox_MekanDuzenle_MekanYaftalari.Items.Count; K++)
{
Query = Query + ", (" + Request.QueryString["mekan"] + "," + ListBox_MekanDuzenle_MekanYaftalari.Items[K].Value + ")";
}
SqlDataSource_Index.InsertCommand = Query;
SqlDataSource_Index.Insert();
"
Server Error in '/Takil' Application.
ERROR [42000] [MySQL][ODBC 5.1 Driver][mysqld-5.0.27-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; INSERT INTO mekanyaftalari (mekanyaftalari_mekanid, mekanyaftalari_yaftaid) VA' at line 1
"
kullandığım sayfadaki kod şu:
"
string Query = "INSERT INTO mekanlar (mekanlar_isim, mekanlar_ilcesemt, mekanlar_iletisim_bilgileri, mekanlar_aciklama, mekanlar_birincilyafta, mekanlar_mekansahibi) VALUES ('" + TextBox_MekanDuzenle_Ad.Text + "', '" + TextBox_MekanDuzenle_Ilcesemt.Text + "', '" + TextBox_MekanDuzenle_Iletisim.Text + "', '" + HTMLInput(TextBox_MekanDuzenle_Aciklama.Text) + "', '" + ListBox_MekanDuzenle_MekanYaftalari.Items[0].Value + "', " + Data_UserID + "); INSERT INTO mekanyaftalari (mekanyaftalari_mekanid, mekanyaftalari_yaftaid) VALUES (LAST_INSERT_ID(), " + ListBox_MekanDuzenle_MekanYaftalari.Items[0].Value + ");";
for (int K = 1; K < ListBox_MekanDuzenle_MekanYaftalari.Items.Count; K++)
{
Query = Query + ", (" + Request.QueryString["mekan"] + "," + ListBox_MekanDuzenle_MekanYaftalari.Items[K].Value + ")";
}
SqlDataSource_Index.InsertCommand = Query;
SqlDataSource_Index.Insert();
query de bir sorun var gibi, query nin database e gönderilmeden önceki son halini response.write la ya da debug ile bir kontrol edin derim,
hatta o son hali yazarsanız daha rahat görülebilir sorunun ne oldugu
hatta o son hali yazarsanız daha rahat görülebilir sorunun ne oldugu
- yasaluyari (25.01.10 00:10:09)
işte query'i writle ile alıp navicat ile girince gayet oluşturuyor işin acayibi
- yuto (25.01.10 01:51:13)
sebebi mysql driver'ının multi query desteklememesiymiş, mysql connector'ün ayarlarında "allow multiple statemets" şıkkını tikleyerek connection string'i değiştirince oldu.
yasaluyarı'ya teşekkürler:)
yasaluyarı'ya teşekkürler:)
- yuto (27.01.10 16:35:36)
1