sql 2005 türkçe karakter sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: sql 2005 türkçe karakter sorunu
N li ve N siz de kayıt gelmiyor ama şöyle bir şey var benim grup kodunu rehber olarak kullandığım sorguda TİBET yazınca TİBET ler geliyor ama tablo TBLSTGRUP
Re: sql 2005 türkçe karakter sorunu
Rehberden seçince Edit9.Text e geliyor kod ve TBLSTSABIT Tablosundakiyle eşleşiyor
Kod: Tümünü seç
SGrupK.Close;
SGrupK.SQL.Clear;
SGrupK.SQL.Add('SELECT DISTINCT GRUP_KOD,GRUP_ISIM FROM TBLSTGRUP WHERE GRUP_ISIM LIKE :GRUP_ISIM');
SGrupK.Parameters.ParamByName('GRUP_ISIM').Value:=Edit10.text+'%';
SGrupK.Open;
SGrupK.Active:=True;
Re: sql 2005 türkçe karakter sorunu
GRUP_ISMI ni GRUP_KOD olarak değiştirdim sorun yok. Kayıt geliyor
Re: sql 2005 türkçe karakter sorunu
Aslında bu da bir sorun, sen INNER JOIN'lerde iki tabloyu birbirine bağladığında ilişki kurulamayacak anlamına da geliyor.
(1) Bu tablolarak bu GRUP isimleri nereden girilmiş yine Netsis'in kendisinden mi ?
(2) Veritabanı bir yerden başka bir yere migrate edilmiş mi ? Taşınmış mı ? Taşıma sırasında SQLServer kurulumunda tablo yapısı farklılaşmış olabilir mi ?
bu sorular da önemli.
Parametre geçmesi konusunda
şeklinde de bir dener misin ? Acaba başında sonunda bir boşluk mu var diye aklıma geldi. Belki de sorun sadece 'İ' değil başı sonu boşluk vs.
(1) Bu tablolarak bu GRUP isimleri nereden girilmiş yine Netsis'in kendisinden mi ?
(2) Veritabanı bir yerden başka bir yere migrate edilmiş mi ? Taşınmış mı ? Taşıma sırasında SQLServer kurulumunda tablo yapısı farklılaşmış olabilir mi ?
bu sorular da önemli.
Parametre geçmesi konusunda
Kod: Tümünü seç
IskontoRap.SQL.Clear;
IskontoRap.SQL.Add('SELECT GRUP_KODU FROM TBLSTSABIT WHERE GRUP_KODU = :KODUMUZ');
IskontoRap.Parameters.ParamByName('KODUMUZ').Value := '%TİBET%';
IskontoRap.Active := True;
Re: sql 2005 türkçe karakter sorunu
TBLSTGRUP Ayrı bir tablo GRUP_KOD , GRUP_ISIM
TBLSTSABIT deki GRUP_KODU ile eşliyorum
GRUP_KOD=GRUP_KODU
Sonuç da kayıt gelmedi yine
uzak bağlantı verebilirim sizde bakabilirsiniz dediğim gibi kaçırdığım olabilir.
TBLSTSABIT deki GRUP_KODU ile eşliyorum
GRUP_KOD=GRUP_KODU
Sonuç da kayıt gelmedi yine
uzak bağlantı verebilirim sizde bakabilirsiniz dediğim gibi kaçırdığım olabilir.
Re: sql 2005 türkçe karakter sorunu
Kod: Tümünü seç
GRUP_KOD COLLATE TURKISH_CI_AS =GRUP_KODU COLLATE TURKISH_CI_AS
Tekrar sorayım,
(1) Bu tablolarak bu GRUP isimleri nereden girilmiş yine Netsis'in kendisinden mi ?
(2) Veritabanı bir yerden başka bir yere migrate edilmiş mi ? Taşınmış mı ? Taşıma sırasında SQLServer kurulumunda tablo yapısı farklılaşmış olabilir mi ?
Bir AMMYY ID'si alabilir miyim... Bir de kendim bakayım
Re: sql 2005 türkçe karakter sorunu
Bu şekilde oldu TİBET leri süzebildim
Kod: Tümünü seç
IskontoRap.Close;
IskontoRap.SQL.Clear;
IskontoRap.SQL.Add('SELECT * FROM TBLSTSABIT WHERE GRUP_KODU LIKE :GRUP_KODU');
IskontoRap.Parameters.ParamByName('GRUP_KODU').Value:=Edit9.text+'%';
IskontoRap.Open;
IskontoRap.Active:=True;
Re: sql 2005 türkçe karakter sorunu
mrmarman üstadımızla sorun çözülmüştür kodu veriyorum ;
eski hali
yeni hali
eski hali
Kod: Tümünü seç
'INNER JOIN TBLCASABIT AS E ON B.CARI_KODU=E.CARI_KOD WHERE A.STHAR_TARIH between :IsTarih1 AND :IsTarih2 AND D.GRUP_KODU='+#39+''+Edit9.Text+''+#39+' AND A.STHAR_FTIRSIP=''2'' '+
Kod: Tümünü seç
D.GRUP_KODU=:YENIKOD // bu bölümü değiştirdik
Kod: Tümünü seç
Parameters.ParamByName('YENIKOD').Value := Edit9.Text; // burayı ekledik
Kod: Tümünü seç
'((A.STHAR_GCMIK * A.STHAR_BF) * (((A.STHAR_SATISK * 100000))/100) + ((A.STHAR_GCMIK * A.STHAR_BF - (A.STHAR_GCMIK * A.STHAR_BF) * '+
'(((A.STHAR_SATISK * 100000))/100)) * A.STHAR_SATISK2/100) )) * A.STRA_SATISK3/100 ))) * A.STRA_SATISK4/100))) * A.STRA_SATISK5/100))) * A.STRA_SATISK6/100 AS Iskonto6, '+
'A.STHAR_BF * A.STHAR_GCMIK AS BRUT_TOPLAM FROM TBLSTHAR AS A INNER JOIN TBLFATUIRS AS B ON B.FATIRS_NO=A.FISNO INNER JOIN TBLSTSABIT AS D ON A.STOK_KODU=D.STOK_KODU '+
'INNER JOIN TBLCASABIT AS E ON B.CARI_KODU=E.CARI_KOD WHERE A.STHAR_TARIH between :IsTarih1 AND :IsTarih2 AND D.GRUP_KODU=:YENIKOD AND A.STHAR_FTIRSIP=''1'' '+
'GROUP BY A.STOK_KODU,A.STHAR_GCMIK, A.STHAR_BF, D.STOK_ADI,D.GRUP_KODU,E.CARI_KOD, E.CARI_ISIM, B.FATIRS_NO, A.STHAR_TARIH, B.BRUTTUTAR, B.SAT_ISKT,A.STHAR_SATISK, A.STHAR_SATISK2, '+
'A.STRA_SATISK3, A.STRA_SATISK4, A.STRA_SATISK5, A.STRA_SATISK6, B.GEN_ISK1O, B.GEN_ISK1T, B.GEN_ISK2O, B.GEN_ISK2T, B.GEN_ISK3O, B.GEN_ISK3T, B.KDV, B.GENELTOPLAM';
Parameters.ParamByName('YENIKOD').Value := Edit9.Text;
Parameters.ParamByName('IsTarih1').Value := DateTimePicker1.Date;
Parameters.ParamByName('IsTarih2').Value := DateTimePicker2.Date;
Active := True;
Re: sql 2005 türkçe karakter sorunu
Arkadaşlar Merhaba;
Türkçe karakter ile başım yine dertte yardımlarınıza ihtiyacım var.
bu şekilde rapor dönüyor ama Delphi 'ye uyarlayamadım.
Türkçe karakter ile başım yine dertte yardımlarınıza ihtiyacım var.
Kod: Tümünü seç
DECLARE @ARA VARCHAR(60)
SET @ARA = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@ARA,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SELECT DBO.TRK(GRUP_KODU) AS GKOD
FROM TBLSTSABIT
where DBO.TRK(GRUP_KODU) LIKE '%T_BET%'
Kod: Tümünü seç
Form26.StokSabit.Close;
Form26.StokSabit.SQL.Clear;
Form26.StokSabit.SQL.Add('SELECT DISTINCT STOK_KODU,STOK_ADI,GRUP_KODU(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(GRUP_KODU,''Ş'',''_''),''Ç'',''_''),''Ö'',''_''),''İ'',''_''),''Ğ'',''_''),''Ü'',''_'') AS GKOD,'+
'SATIS_FIAT1,SATIS_FIAT2,SATIS_FIAT3,SATIS_FIAT4,ALIS_FIAT1,ALIS_FIAT2,ALIS_FIAT3,ALIS_FIAT4 FROM TBLSTSABIT WHERE 1=1');
if Edit1.Text<>'' then
Form26.StokSabit.SQL.Add('And Stok_Kodu='+ QuotedStr(Edit1.Text));
if DBComboBox1.Text<>'' then
Form26.StokSabit.SQL.Add('And Grup_Kodu='+ QuotedStr(DBComboBox1.Text));
if DBComboBox2.Text<>'' then
Re: sql 2005 türkçe karakter sorunu
Merhaba,
Yapmak istediğiniz tam olarak nedir? Rapor dönüyor dediğiniz kısımda @ARA SQL içinde kullanılmamış gibi. Ya da eksik bilgi verdiğiniz için yapmak istediğiniz anlaşılmıyor. Emin olmamakla birlikte belki farklı bir yöntem ile sorununuzu çözmeniz mümkün olabilir. Örnek veriler ve daha detaylı bilgiler ile daha anlaşılır şekilde sorunuzu revize etmenizde fayda var.
Yapmak istediğiniz tam olarak nedir? Rapor dönüyor dediğiniz kısımda @ARA SQL içinde kullanılmamış gibi. Ya da eksik bilgi verdiğiniz için yapmak istediğiniz anlaşılmıyor. Emin olmamakla birlikte belki farklı bir yöntem ile sorununuzu çözmeniz mümkün olabilir. Örnek veriler ve daha detaylı bilgiler ile daha anlaşılır şekilde sorunuzu revize etmenizde fayda var.
Re: sql 2005 türkçe karakter sorunu
Yapmak istediğim şu bir tablom var ve bu tabloda GRUP_KODU var bu alanı DBComboBox1.text de yazarak filitre etmek istiyorum. Ama GRUP_KODU türkçe karakterler içermekte ve bu yüzden rapor boş geliyor. Yapmak istediğim türkçe karakterleri nasıl filitre edebilirim?
Re: sql 2005 türkçe karakter sorunu
Filtreleme bilgisi ile birlikte örnek veriler paylaşmanız mümkün mü?
Re: sql 2005 türkçe karakter sorunu
ertank öncelikle teşekkür ederim ilgin ve alakan için. Filitre yaptığım yer burası;
Veri tabanın da TBLCASABIT de GRUP_KODU alanı mesela "TİBET" kodu "TÝBET" şeklinde görünüyor.
Kod: Tümünü seç
Form26.StokSabit.Close;
Form26.StokSabit.SQL.Clear;
Form26.StokSabit.SQL.Add('SELECT STOK_KODU,STOK_ADI,DBO.TRK(GRUP_KODU) AS GRUP_KODU,SATIS_FIAT1,SATIS_FIAT2,SATIS_FIAT3,SATIS_FIAT4,ALIS_FIAT1,ALIS_FIAT2,ALIS_FIAT3,ALIS_FIAT4 FROM TBLSTSABIT WHERE 1=1');
if Edit1.Text<>'' then
Form26.StokSabit.SQL.Add('And Stok_Kodu='+ QuotedStr(Edit1.Text));
if DBComboBox1.Text<>'' then
Form26.StokSabit.SQL.Add('And Grup_Kodu='+ QuotedStr(DBComboBox1.Text));
if DBComboBox2.Text<>'' then
Form26.StokSabit.SQL.Add('And Kod_1='+ QuotedStr(DBComboBox2.Text));
if DBComboBox3.Text<>'' then
Form26.StokSabit.SQL.Add('And Kod_2='+ QuotedStr(DBComboBox3.Text));
if DBComboBox4.Text<>'' then
Form26.StokSabit.SQL.Add('And Kod_3='+ QuotedStr(DBComboBox4.Text));
if DBComboBox5.Text<>'' then
Form26.StokSabit.SQL.Add('And Kod_4='+ QuotedStr(DBComboBox5.Text));
if DBComboBox6.Text<>'' then
Form26.StokSabit.SQL.Add('And Kod_5='+ QuotedStr(DBComboBox6.Text));
if DBComboBox7.Text<>'' then
Form26.StokSabit.SQL.Add('And Depo_Kodu='+ QuotedStr(DBComboBox7.Text));
if Edit9.Text<>'' then
Form26.StokSabit.SQL.Add('And Sube_Kodu='+ QuotedStr(Edit9.Text));
Form26.StokSabit.Open;
Form25.Hide;
Form26.Show;
End;
End;
Re: sql 2005 türkçe karakter sorunu
SQL Server sürümünü ve tablo CREATE TABLE DDL bilgisini paylaşabilir misiniz?
Re: sql 2005 türkçe karakter sorunu
Arkadaşlar bir yerde hata alıyorum ama çözemedim bana yardımcı olur musunuz?
Procedure bu ;
bu şekilde çalıştırıyorum;
Hata
Conversion failed when converting the varchar value '%' to data type smallint.
eklediğim iki alan var "@DEPO_KODU smallint = null," "@SUBE_KODU varchar(10) = null"
bu alanları varchar(15) veya nvarchar(15) olarakda denedim olmadı aynı hata.
Procedure bu ;
Kod: Tümünü seç
ALTER PROC [dbo].[SP_EMANETTRK]
( @STOK_KODU varchar(30) = null ,
@GRUP_KODU varchar(30) = null ,
@KOD_1 varchar(8) = null ,
@KOD_2 varchar(8) = null ,
@KOD_3 varchar(8) = null ,
@KOD_4 varchar(8) = null ,
@KOD_5 varchar(8) = null ,
@DEPO_KODU smallint = null,
@SUBE_KODU varchar(10) = null
)
AS
BEGIN
SET @STOK_KODU = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@STOK_KODU,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SET @GRUP_KODU = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@GRUP_KODU,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SET @KOD_1 = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@KOD_1,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SET @KOD_2 = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@KOD_2,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SET @KOD_3 = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@KOD_3,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SET @KOD_4 = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@KOD_4,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SET @KOD_5 = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@KOD_5,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SET @DEPO_KODU = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@DEPO_KODU,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SET @SUBE_KODU = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@SUBE_KODU,'Ş','_'),'Ç','_'),'Ö','_'),'İ','_'),'G','_'),'Ü','_')
SELECT DISTINCT
STOK_KODU,
STOK_ADI,
GRUP_KODU GKOD,
SATIS_FIAT1,
SATIS_FIAT2,
SATIS_FIAT3,
SATIS_FIAT4,
ALIS_FIAT1,
ALIS_FIAT2,
ALIS_FIAT3,
ALIS_FIAT4,
KOD_1,
KOD_2,
KOD_3,
KOD_4,
KOD_5,
DEPO_KODU,
SUBE_KODU
FROM TBLSTSABIT
WHERE STOK_KODU LIKE '%'+COALESCE( NULLIF( @STOK_KODU , '') , STOK_KODU ) +'%' AND
GRUP_KODU LIKE '%'+COALESCE( NULLIF( @GRUP_KODU , '') , GRUP_KODU ) +'%' AND
KOD_1 LIKE '%'+COALESCE( NULLIF( @KOD_1 , '') , KOD_1 ) +'%' AND
KOD_2 LIKE '%'+COALESCE( NULLIF( @KOD_2 , '') , KOD_2 ) +'%' AND
KOD_3 LIKE '%'+COALESCE( NULLIF( @KOD_3 , '') , KOD_3 ) +'%' AND
KOD_4 LIKE '%'+COALESCE( NULLIF( @KOD_4 , '') , KOD_4 ) +'%' AND
KOD_5 LIKE '%'+COALESCE( NULLIF( @KOD_5 , '') , KOD_5 ) +'%' AND
DEPO_KODU LIKE '%'+COALESCE( NULLIF( @DEPO_KODU , '') , DEPO_KODU ) + '%' AND
SUBE_KODU LIKE '%'+COALESCE( NULLIF( @SUBE_KODU , '') , SUBE_KODU ) + '%'
END
GO
bu şekilde çalıştırıyorum;
Kod: Tümünü seç
exec SP_EMANETTRK @GRUP_KODU ='TİBET'
Conversion failed when converting the varchar value '%' to data type smallint.
eklediğim iki alan var "@DEPO_KODU smallint = null," "@SUBE_KODU varchar(10) = null"
bu alanları varchar(15) veya nvarchar(15) olarakda denedim olmadı aynı hata.