Kaydederken hata veriyor.

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba VBNET 2005 kulanıyorum.
Mdb dosyasına kaydederken textboxtaki değer yüzünden hata veriyor.
Örneğin textbox2ye 6'lık çivi yazarsam hata veriyor.Başka zaman hata vermiyor.Yani kesme işaretini(tek tırnak) işaretini kullandığım zaman hata veriyor.
Kaydet SQL cümleciğim aşağıdaki gibi.
Kod:
SQL = New OleDbCommand("insert into BUTCE (SIRALAMA,TARIH,AYLAR,ACIKLAMA,CINSI,GELIR,GIDER) values('" & c & "','" & DateTimePicker1.Value & "','" & donem & "','" & TextBox2.Text & "','" & ComboBox3.Text & "','" & gelir & "','" & gider & "')", conn)
Hata olarak ise aşağıdaki cümleyi veriyor.Teşekkür ederim.
''6'lık çivi','AKTAR','0','3')' sorgu ifadesi içindeki Sözdizimi hatası (eksik işleç)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın Evren Gizlen,


Aşağıdaki gibi bir koda ihtiyacınız var tam olarak çözemedim, deneme yanılmayla olacak gibi:

Kod:
Private Sub Metin0_AfterUpdate()
Me.Metin0 = FindFirstFixup(Me.Metin0)
End Sub


Function FindFirstFixup(TextIn)
   Dim Temp
     Temp = Replace(TextIn, "'", "' & chr(39) & '")
     FindFirstFixup = Replace(Temp, "|", "' & chr(124) & '")
   End Function
Replace nin yerine ReplaceStr de olabilir.

http://support.microsoft.com/kb/178070

İyi çalışmalar
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Modalı üstadım teşekkür ederim.
Bende yaptığım araştırma neticesinde ' tırnağı replace ile 2 tek tırnağa çevirip o şekilde kullandım.
yani
Kod:
deg= replace(Textbox2.text,"'","''")
şeklinde yaptım.Oldu.Çift tırnakalrın içersinde 2 tane tek tırnak var.
SQL cümlesindede Textbox2 yazan yere deg yazdım oldu.Yanıtınız için tekrardan teşekkürler.:D
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Aşağıdaki fonksiyon da kullanılabilir:

Kod:
function SQLComply (Term)
 
     if Term <> "" then
          Term = Replace (Term, chr (39), chr (39) & chr (39))
     end if
     SQLComply = Term
 
end function
sql cümlesi içinde de:

Kod:
SQL_Query = "Update Your_Table set Your_Field = '" & SQLComply (Your_Field) & "'...
şeklinde kullanılabilir.

İyi çalışmalar
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Aşağıdaki fonksiyon da kullanılabilir:

Kod:
function SQLComply (Term)
 
     if Term <> "" then
          Term = Replace (Term, chr (39), chr (39) & chr (39))
     end if
     SQLComply = Term
 
end function
sql cümlesi içinde de:

Kod:
SQL_Query = "Update Your_Table set Your_Field = '" & SQLComply (Your_Field) & "'...
şeklinde kullanılabilir.

İyi çalışmalar
Üstadım fonksiyon için teşekkürler.Çok güzel bir fonksiyon yazmışsınız.İyi günler dilerim.
 
Üst