lostyazilim
tr.link

MSSQL - Bir tabloda içeriğinde güncelleme yapmak istiyorum.

13 Mesajlar 2.437 Okunma
acebozum
tr.link

TeknoSef TeknoSef Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 16.11.2013
  • Yaş/Cinsiyet 39 / E
  • Meslek Sistem ve Ağ Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad Y** Y**
  • Mesajlar 78
  • Beğeniler 4 / 8
  • Ticaret 2, (%100)
Merhaba,

MSSQL de bir tabloda fatura numaralarını güncelle yapmam gerekiyor IDStr ye göre sorgulayarak fatura numaralarını fatura numarası alanına yazmak istiyorum ayrıca fatura kesildi alanı ise 0 dan 1 yapmak istiyorum nasıl bir sorgu yapmam gerekiyor destek olabilirseniz çok memnun olurum. Çok uğraştım başaramadım teşekkürler.

IDStr : Bu alanda 120 tane numara sorgu yaparak listeyi getirmek aşağıda ki alanları güncellemek
FaturaKesildi : 120 satır listelendiğinde bu alanda 0 sayısını 1 yapmam istiyorum
FaturaRefNo : 120 satır listelendiğinde elimde olan Excelde ki fatura numaralarını bu alana yazdırmam gerekiyor.
[B]FaturaKesilmeTarihi :[/B] Bu alan içinde sabit bir tarih vermem gerekiyor.

Desteğiniz için şimdiden teşekkürler.
İyi Çalışmalar.
 

 

elektronikssl
webimgo

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Pek anlamadım fakat hepsi bir tabloda ise sadece UPDATE sorgusu yazmanız yeterli.

UPDATE tabloadi SET FaturaKesildi = 1, FaturaRefNo = "FaturaNo", FaturaKesilmeTarihi = "Tarih" WHERE IDStr = "Sorgu";
 

 

sefacandemir.com.tr

TeknoSef TeknoSef Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 16.11.2013
  • Yaş/Cinsiyet 39 / E
  • Meslek Sistem ve Ağ Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad Y** Y**
  • Mesajlar 78
  • Beğeniler 4 / 8
  • Ticaret 2, (%100)

SefaCanDemir adlı üyeden alıntı

Pek anlamadım fakat hepsi bir tabloda ise sadece UPDATE sorgusu yazmanız yeterli.

UPDATE tabloadi SET FaturaKesildi = 1, FaturaRefNo = "FaturaNo", FaturaKesilmeTarihi = "Tarih" WHERE IDStr = "Sorgu";


Desteğiniz için teşekkürler. Hepsi bir tabloda yalnız benim 120 tane IDStr kodlarını Sorgu yerine yazıyor olacağım sanırım. Doğrumu anladım değil mi?

Ayrıca öyle denediğimde aşağıda olan hatayı aldım :(

Msg 207, Level 16, State 1, Line 1
Invalid column name 'HZO-00001496-001'.
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Anlamadım 120 kere tekrar etmesi mi gerekiyor ?
Peki bu 120 IDStr kodunuz nerede? Ve sadece Mssql üzerinden mi yapacaksınız yoksa her hangi bir program var mı?
 

 

sefacandemir.com.tr
wmaraci
wmaraci

TeknoSef TeknoSef Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 16.11.2013
  • Yaş/Cinsiyet 39 / E
  • Meslek Sistem ve Ağ Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad Y** Y**
  • Mesajlar 78
  • Beğeniler 4 / 8
  • Ticaret 2, (%100)

SefaCanDemir adlı üyeden alıntı

Anlamadım 120 kere tekrar etmesi mi gerekiyor ?
Peki bu 120 IDStr kodunuz nerede? Ve sadece Mssql üzerinden mi yapacaksınız yoksa her hangi bir program var mı?


Elimde aşağıda olan kodlar var. Bunları sorgulayarak fatura numaraları var bu numaraların yanında onlarıda SQL içinde yerine işlemek istiyorum. Herhangi bir program yok diretk SQL üzerinden yapmak istiyorum. Toplu aktarım gibi birşey olacak aslında tekrar teşekkürler.

HZO-00001496-001
SNO-00019491-005
SNO-00019059-006
HZO-00001467-003
SNO-00019057-006
SNO-00019091-006
HZO-00001500-001
SNO-00018995-006
SNO-00016635-009
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Bunun için bir basit programa ihtiyacınız olacak 120 sayısı çok büyük eğer tek tek elle girerim diyorsanız anlatayım sql den nasıl yapacağınızı fakat ufak bir C# projesiyle çözüme ulaşabilirsiniz:

Bir metin dosyasına bu numaraları her satıra biri gelecek şekilde yazın. | işareti ile ayırıp güncelleyeceğiniz verileride yanlarına yazın:

Örn:

Kod|FaturaNo
Kod|FaturaNo
Kod|FaturaNo
Kod|FaturaNo
Kod|FaturaNo

Ve C# ile MSSql veritabanınızı bağlayın.

Daha sonra iki list oluşturun;



List codes = new List();
List envId = new List();


Sonrasında StreamReader kullanarak metin dosyasına eklediğiniz kodları satır satır tarayıp listelere atıyoruz:



StreamReader sr= new StreamReader("C:\kodlarınbulundugudosya.txt"); // Metin dosyasının yolu..

while(!sr.EndOfStream){

string line = sr.ReadLine();
string[] _replace = line.Replace("|");
codes.Add(_replace[0]);
envId.Add(_replace[1]);

}

sr.Close();
sr.Dispose();




Son olarak bir for ile listedeki tüm elemanları yukarıda size verdiğim sorgu ile sorgulatın.



for(i=0; i< codes.Lenght; i++){

//Update sorgunuzu çalıştırın. WHERE IDStr kısmını codes[i]; olarak atayın. Güncelleyeceğiniz fatura numarasını da envId[i]; olarak atayın.

}




Böylece listedeki tüm kodları tek tek update edebilirsiniz.














Tek tek yapmak istiyorsanız bir önceki yazdığım sorguda IDStr = "Sorgu" yazan yeri tek tek kodlar ile değiştirmeniz gerekiyor.
Örn:

UPDATE tabloadi SET FaturaKesildi = 1, FaturaRefNo = "FaturaNo", FaturaKesilmeTarihi = "Tarih" WHERE IDStr = "HZO-00001496-001";
 

 

sefacandemir.com.tr

TeknoSef TeknoSef Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 16.11.2013
  • Yaş/Cinsiyet 39 / E
  • Meslek Sistem ve Ağ Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad Y** Y**
  • Mesajlar 78
  • Beğeniler 4 / 8
  • Ticaret 2, (%100)

SefaCanDemir adlı üyeden alıntı

Bunun için bir basit programa ihtiyacınız olacak 120 sayısı çok büyük eğer tek tek elle girerim diyorsanız anlatayım sql den nasıl yapacağınızı fakat ufak bir C# projesiyle çözüme ulaşabilirsiniz:

Bir metin dosyasına bu numaraları her satıra biri gelecek şekilde yazın. | işareti ile ayırıp güncelleyeceğiniz verileride yanlarına yazın:

Örn:

Kod|FaturaNo
Kod|FaturaNo
Kod|FaturaNo
Kod|FaturaNo
Kod|FaturaNo

Ve C# ile MSSql veritabanınızı bağlayın.

Daha sonra iki list oluşturun;



List codes = new List();
List envId = new List();


Sonrasında StreamReader kullanarak metin dosyasına eklediğiniz kodları satır satır tarayıp listelere atıyoruz:



StreamReader sr= new StreamReader("C:\kodlarınbulundugudosya.txt"); // Metin dosyasının yolu..

while(!sr.EndOfStream){

string line = sr.ReadLine();
string[] _replace = line.Replace("|");
codes.Add(_replace[0]);
envId.Add(_replace[1]);

}

sr.Close();
sr.Dispose();




Son olarak bir for ile listedeki tüm elemanları yukarıda size verdiğim sorgu ile sorgulatın.



for(i=0; i< codes.Lenght; i++){

//Update sorgunuzu çalıştırın. WHERE IDStr kısmını codes[i]; olarak atayın. Güncelleyeceğiniz fatura numarasını da envId[i]; olarak atayın.

}




Böylece listedeki tüm kodları tek tek update edebilirsiniz.







Tek tek yapmak istiyorsanız bir önceki yazdığım sorguda IDStr = "Sorgu" yazan yeri tek tek kodlar ile değiştirmeniz gerekiyor.
Örn:

UPDATE tabloadi SET FaturaKesildi = 1, FaturaRefNo = "FaturaNo", FaturaKesilmeTarihi = "Tarih" WHERE IDStr = "HZO-00001496-001";



Merhaba,

Öncelikle bu harika anlatım için çok teşekkür ederim.
Yalnız SQL den toplu olarak numaraların tamamını sorgulama imkanım var ise harika olur fatura numaralarını ellede girebilirim.

Verdiğiniz tek tek giriş için kodu eklediğimde aşağıda olan hatayı aldım :(

http://prntscr.com/kv0g9y

http://prntscr.com/kv0huh

İyi Çalışmalar.
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
" yerine ' kullanmayı dener misiniz. Sql derleyicilerinin ufak syntax değişimleri olabiliyor.

Mutlaka bir yolu vardır fakat MsSql kullanan birisi değilim. Dolayısıyla bilgim dahilinde yardımcı olmak istedim. :(
 

 

sefacandemir.com.tr

TeknoSef TeknoSef Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 16.11.2013
  • Yaş/Cinsiyet 39 / E
  • Meslek Sistem ve Ağ Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad Y** Y**
  • Mesajlar 78
  • Beğeniler 4 / 8
  • Ticaret 2, (%100)

SefaCanDemir adlı üyeden alıntı

" yerine ' kullanmayı dener misiniz. Sql derleyicilerinin ufak syntax değişimleri olabiliyor.

Mutlaka bir yolu vardır fakat MsSql kullanan birisi değilim. Dolayısıyla bilgim dahilinde yardımcı olmak istedim. :(


Dediğiniz şekilde güncelleme yaptım ama bu sefer aşağıda olan hatayı aldım :(

http://prntscr.com/kv0mcb
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Rica etsem sorguyu da gönderir misiniz? Aldığınız hatanın açıklaması biraz uzun fakat kısaca şöyle söyleyebilirim. Bir sql görünümünü güncelleyebilmeniz için belirli koşulların sağlanması gerekir. Bu koşullardan biri sağlanmadığında bu hatayı alırsınız.

Eğer sorgunuzu atarsanız sorunun sorgudan mı yoksa tablo yapısından mı kaynaklandığını söyleyebilirim.
 

 

sefacandemir.com.tr
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al