En iyi yanıtlayıcılar
access to sql

Soru
-
Merhaba,
Access veritabanini sql veritabanina aktararn bir program yazdim. Sorun bu:
Access date formatinda olan hucreyi sql e aktarma zamani incorrect syntax near 12 hatasi veriyor.
Sql de hucrenin formatini datetime2(0) yaptim. Diger degerler sorunsuz yukleniyor. Ne yapmaliyim?Tesekkurler.
Yanıtlar
-
Sorguyu ve kodları görmediğimiz için bir şey demek zor ama büyük ihtimalle parametre kullanmadığın için bu tür bir sorunla karşılaşıyorsun. Bir diğer ihtimal de tarih olarak değil de string olarak alıyorsun
- Düzenleyen Olcay GUZEL 8 Haziran 2017 Perşembe 10:16
- Yanıt Olarak İşaretleyen Lwin90 12 Haziran 2017 Pazartesi 10:21
-
cmd.CommandText = "Insert into Setup Values(" + dt1.Rows[i][0] + ",'"+ dt1.Rows[i][1] +"','" + dt1.Rows[i][12] + "'," + dt1.Rows[i][6] + "," + dt1.Rows[i][14] + ")";
Bu satırın yerine,
cmd.CommandText = "INSERT INTO Setup VALUES(@param1, @param2, @param3, @param4, @param5); cmd.Parameters.AddWithValue("@param1", Convert.ToInt32(dt1.Rows[i][0])); cmd.Parameters.AddWithValue("@param2", Convert.ToDateTime(dt1.Rows[i][1])); cmd.Parameters.AddWithValue("@param3", dt1.Rows[i][12].ToString()); cmd.Parameters.AddWithValue("@param4", Convert.ToInt32(dt1.Rows[i][6])); cmd.Parameters.AddWithValue("@param5", Convert.ToInt32(dt1.Rows[i][14]));
kullanın...
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 8 Haziran 2017 Perşembe 17:28
- Yanıt Olarak İşaretleyen Lwin90 12 Haziran 2017 Pazartesi 10:21
Tüm Yanıtlar
-
-
-
Sorguyu ve kodları görmediğimiz için bir şey demek zor ama büyük ihtimalle parametre kullanmadığın için bu tür bir sorunla karşılaşıyorsun. Bir diğer ihtimal de tarih olarak değil de string olarak alıyorsun
- Düzenleyen Olcay GUZEL 8 Haziran 2017 Perşembe 10:16
- Yanıt Olarak İşaretleyen Lwin90 12 Haziran 2017 Pazartesi 10:21
-
-
-
-
OleDbDataAdapter da1 = new OleDbDataAdapter("Select * from setupfile", conn);
DataTable dt1 = new DataTable();
da1.Fill(dt1);cons.Open();
for (int i = 0; i < dt1.Rows.Count; i++)
{
cmd.Connection = cons;
cmd.CommandText = "Insert into Setup Values(" + dt1.Rows[i][0] + ",'"+ dt1.Rows[i][1] +"','" + dt1.Rows[i][12] + "'," + dt1.Rows[i][6] + "," + dt1.Rows[i][14] + ")";
cmd.ExecuteNonQuery();
}dt1.Rows[i][1] - tarih olan hucre bu, hatayi burada aliyorum.
-
-
Böyle bir programı, programlamayı öğrenme amaçlı mı yazdınız?
(Çünkü hem Access içinde SQL'e Uploading Tool hem de SQL içinde Access'den veri transfer işlemi var)
dergikapaklari.com -
cmd.CommandText = "Insert into Setup Values(" + dt1.Rows[i][0] + ",'"+ dt1.Rows[i][1] +"','" + dt1.Rows[i][12] + "'," + dt1.Rows[i][6] + "," + dt1.Rows[i][14] + ")";
Bu satırın yerine,
cmd.CommandText = "INSERT INTO Setup VALUES(@param1, @param2, @param3, @param4, @param5); cmd.Parameters.AddWithValue("@param1", Convert.ToInt32(dt1.Rows[i][0])); cmd.Parameters.AddWithValue("@param2", Convert.ToDateTime(dt1.Rows[i][1])); cmd.Parameters.AddWithValue("@param3", dt1.Rows[i][12].ToString()); cmd.Parameters.AddWithValue("@param4", Convert.ToInt32(dt1.Rows[i][6])); cmd.Parameters.AddWithValue("@param5", Convert.ToInt32(dt1.Rows[i][14]));
kullanın...
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 8 Haziran 2017 Perşembe 17:28
- Yanıt Olarak İşaretleyen Lwin90 12 Haziran 2017 Pazartesi 10:21