Anasayfa » Forum

VB C# multiline tex...
 

VB C# multiline textbox' taki veriyi SQL veritabanına kaydetme  

  RSS
soner ada
(@sonerada)
Üye

merhabalar.

multilene textbox aracıma altalta mahalle ismi sıraladım ve bu mahalle isimlerini sql deki tabloda mahalle adı altında sıralamak istiyorum.veri aktarma kodunu beceremedim.nasıl olur yarıdımınızı bekliyorum.

devlet kurumunda yaklaşık 10 bin kişiyi rahata kavuştumasını düşündüğüm bi küçük uygulama yapma peşindeyim. amatör bişey ama çok işe yarayacak bitirebilir isem (:

 

yardımlarınız için şimdiden teşekkürler.

Alıntı
Gönderildi : 13/08/2017 17:16
Erdem SELÇUK
(@eravse)
Üye Forum Yöneticisi

mahalle adı dedıgınız bır tablomu ? eğer oyle ıse https://forums.asp.net/t/1913294.aspx?multiline+text+insert+into+sql+db+ asp.net forumdaki soruya göz atmanızı öneririm.

 

saygılarımla

 

 

 

CevapAlıntı
Gönderildi : 14/08/2017 18:40
Volkan Alkılıç
(@volkanalkilic)
Üye

Aşağıda küçük bir örnek paylaşıyorum;

using (SqlConnection openCon = new SqlConnection("bağlantı_dizesi")) // Veri tabanı ayarlarınızı buraya girin
{
string sqlKomut = "INSERT into [TABLO_ADI] ([SÜTUN_ADI]) VALUES (@VERİ)"; // Tablo adı ve sütun adlarını buraya girin.

using (SqlCommand command = new SqlCommand(sqlKomut))
{

var veri = MULTILINE_TEXTBOX.Replace("\n","<br/>"); // MULTILINE_TEXTBOX içerisindeki veriyi satırlara bölerek alın.

command.Connection = openCon;
command.Parameters.AddWithValue("@VERİ", veri); // Parametre olarak set edin

openCon.Open(); // Veri tabanına gönderin

}
}

CevapAlıntı
Gönderildi : 14/08/2017 18:51
soner ada
(@sonerada)
Üye

öncelikle değerli cevaplarınız için teşekkürler.denedim ama yapamadım.hiçbişey değişmiyor gibi.

bir adet buton um var ve bunun click event ına eklediğim kodlarla formda bulunan multiline textbox içinde enter tuşuyla altalta sıralanmış mahalle isimlerini sql deki tablomda bulunan mahalle sütununa alt alta sıralamak istiyorum ama olmadı.hata vermiyor ama kod da çalışmadı.kodları kendime göre şöyle yazdım:

 

using (SqlConnection baglanti= new SqlConnection(@"Data Source=DESKTOP-A4HK9A7;Initial Catalog=stokgiris;Integrated Security=True"))
            {
                string sqlkomut = "insert into mahalleler (mahalle) values (@mahalleadi)";
                using (SqlCommand command = new SqlCommand(sqlkomut))
                {
                    var veri = textBox1.Text.Replace("\n", "<br/>");
                    command.Connection = baglanti;
                    command.Parameters.AddWithValue("@mahalleadi", veri);
                    baglanti.Open();

 

yanlışlık nedir anlamadım.@veri yazan kısmı doğru mu doldurdum emin değilim 200 ders videosu izledim haftalardır uğraşıyorum (: hem zevkli hem ızdıraplı.

CevapAlıntı
Gönderildi : 15/08/2017 23:23
Volkan Alkılıç
(@volkanalkilic)
Üye

Sanırım eksik olmuş. "baglanti.Open();" dan sonra "command.ExecuteNonQuery();" ekleyin.

CevapAlıntı
Gönderildi : 16/08/2017 00:04
Volkan Alkılıç
(@volkanalkilic)
Üye

Yazma ve okumayı tarif eden bir örnek hazırladım. Aşağıdaki kod yardımcı olacaktır;

 

void Main()
{
System.Windows.Forms.Form form = new System.Windows.Forms.Form();
TextBox textbox = new TextBox();
textbox.Multiline = true;
textbox.Dock = DockStyle.Fill;

Button button = new Button();
button.Text = "Gönder";
button.Dock = DockStyle.Bottom;
button.Click += (sender, args) =>
{
using (SqlConnection openCon = new SqlConnection("Data Source=localhost;Initial Catalog=Cargo;Integrated Security=True"))
{
string sqlKomut = "INSERT into [StokItem] ([Airwaybill]) VALUES (@VERİ)";

using (SqlCommand command = new SqlCommand(sqlKomut))
{

var veri = textbox.Text;

command.Connection = openCon;
command.Parameters.AddWithValue("@VERİ", veri);

openCon.Open();

command.ExecuteNonQuery();

textbox.Text = "";

}
}
};

Button button2 = new Button();
button2.Text = "Oku";
button2.Dock = DockStyle.Bottom;
button2.Click += (sender, args) =>
{
using (SqlConnection openCon = new SqlConnection("Data Source=localhost;Initial Catalog=Cargo;Integrated Security=True"))
{
openCon.Open();

string sqlKomut = "SELECT Airwaybill FROM StokItem";

using (SqlCommand command = new SqlCommand(sqlKomut, openCon))
{

using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
var sqlveri = reader.GetString(0);
textbox.Text = sqlveri;

}
}
}
}
};

form.Controls.Add(textbox);
form.Controls.Add(button);
form.Controls.Add(button2);
form.Show();
}

CevapAlıntı
Gönderildi : 16/08/2017 00:31
soner ada
(@sonerada)
Üye

çok sağolun. ama şöyle bir problem var geceden bu yana uğraşıyorum. textbox içindeki veri tek satır olunca veritabanına yolluyor ama enterla alt satıra inip iki satır veri yazınca şöyle bi hata alıyorum;

 

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

Additional information: Incorrect syntax near 'nvarchar'.

 

kodlarımı da şöyle düzenledim

 

using (SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-A4HK9A7;Initial Catalog=stokgiris;Integrated Security=True"))
            {
                string sqlKomut = "INSERT into mahallelerr (mahalle) values ('" + textBox1.Text + "')";
                using (SqlCommand command = new SqlCommand(sqlKomut))
                {
                    var veri = textBox1.Text.Replace("\n", "<br>");
                    command.Connection = con;
                    command.Parameters.AddWithValue(@textBox1.Text, veri);
                    con.Open();
                    command.ExecuteNonQuery();
                    textBox1.Text= "";
                }
            }

 

 

yanlışlık nerde acaba.

CevapAlıntı
Gönderildi : 16/08/2017 12:35
soner ada
(@sonerada)
Üye

kodları bu şekilde girdiğimde hata mesajı yok ama altalta girilen verileri sql tabloda tek satıra kaydediyor.

 

 

 

using (SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-A4HK9A7;Initial Catalog=stokgiris;Integrated Security=True"))
            {
                string sqlKomut = "INSERT into [mahallelerr] ([mahalle]) values (@veri)";
                using (SqlCommand command = new SqlCommand(sqlKomut))
                {
                    var veri = textBox1.Text;
                    command.Connection = con;
                    command.Parameters.AddWithValue("@veri", veri);
                    con.Open();
                    command.ExecuteNonQuery();
                    textBox1.Text= "";
                }
            }

CevapAlıntı
Gönderildi : 16/08/2017 12:43
Volkan Alkılıç
(@volkanalkilic)
Üye

Zaten istediğiniz bu değil mi? Yani textbox'a girilen değeri tek bir satır halinde kaydetmek istemiyor musunuz?

CevapAlıntı
Gönderildi : 16/08/2017 12:48
soner ada
(@sonerada)
Üye

[quote user="Volkan Alkılıç"]

Zaten istediğiniz bu değil mi? Yani textbox'a girilen değeri tek bir satır halinde kaydetmek istemiyor musunuz?

[/quote]

volkan bey ben yanlış anlattım sanırım.şöyle ki ben girilen her satırdaki değeri veritabanındaki tabloda da tek tek ve alt alta değerler olarak girsin istiyorum.

CevapAlıntı
Gönderildi : 16/08/2017 21:21
Volkan Alkılıç
(@volkanalkilic)
Üye

Bu durumda aşağıdaki şekilde deneyin;

 

using (SqlConnection openCon = new SqlConnection("Data Source=localhost;Initial Catalog=Cargo;Integrated Security=True"))
{
openCon.Open();
var satırlar = textbox.Text.Split(new[] { '\r', '\n' });
foreach (var veri in satırlar.Where(x=> !String.IsNullOrEmpty(x)))
{
string sqlKomut = "INSERT into [StokItem] ([Airwaybill]) VALUES (@VERİ)";

using (SqlCommand command = new SqlCommand(sqlKomut))
{

command.Connection = openCon;
command.Parameters.AddWithValue("@VERİ", veri);

 

command.ExecuteNonQuery();

}
}
textbox.Text = "";
}

CevapAlıntı
Gönderildi : 16/08/2017 21:33
soner ada
(@sonerada)
Üye

[quote user="Volkan Alkılıç"]

Bu durumda aşağıdaki şekilde deneyin;

 

using (SqlConnection openCon = new SqlConnection("Data Source=localhost;Initial Catalog=Cargo;Integrated Security=True"))
{
openCon.Open();
var satırlar = textbox.Text.Split(new[] { '\r', '\n' });
foreach (var veri in satırlar.Where(x=> !String.IsNullOrEmpty(x)))
{
string sqlKomut = "INSERT into [StokItem] ([Airwaybill]) VALUES (@VERİ)";

using (SqlCommand command = new SqlCommand(sqlKomut))
{

command.Connection = openCon;
command.Parameters.AddWithValue("@VERİ", veri);

 

command.ExecuteNonQuery();

}
}
textbox.Text = "";
}

[/quote]

 

işte bu ya.harika.

çok sağolun çok yardımcı oldunuz volkan bey.oldu hem de mis gibi oldu

CevapAlıntı
Gönderildi : 17/08/2017 01:22
soner ada
(@sonerada)
Üye

son birşey daha sormak istiyorum.

veritabanına sırasıyla mahalle adlarını ekledik.formu kapattım sonra formu yeniden açtığımda bu mahalle adlarını veritabanından aynı textbox içine aynı sırada yazmak istiyorum.forum load olayına kodları girdim fakat ilk mahalle adını ekleyip diğerlreini textbox a yazdıramadım.yardımcı olabilir misiniz?

CevapAlıntı
Gönderildi : 17/08/2017 14:18
Volkan Alkılıç
(@volkanalkilic)
Üye

Aşağıdaki şekilde deneyin;

 

using (SqlCommand command = new SqlCommand(sqlKomut, openCon))
{

using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
var sqlveri = reader.GetString(0);
textbox.Text += sqlveri;

}
}
}

CevapAlıntı
Gönderildi : 18/08/2017 13:19
soner ada
(@sonerada)
Üye

[quote user="Volkan Alkılıç"]

Aşağıdaki şekilde deneyin;

 

using (SqlCommand command = new SqlCommand(sqlKomut, openCon))
{

using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
var sqlveri = reader.GetString(0);
textbox.Text += sqlveri;

}
}
}

[/quote]

 

teşekkürler.oldu ama satırları alt alta değil de yanyana sıraladı düz metin gibi.

CevapAlıntı
Gönderildi : 18/08/2017 18:23
Süleyman SÜLÜN
(@suleymansulun)
Üye

textbox.Text += sqlveri;

satırınızı 

textbox.Text += sqlveri + "\n";

şeklinde değiştirirseniz muhtemelen alt alta yazacaktır..

CevapAlıntı
Gönderildi : 04/09/2017 06:00
soner ada
(@sonerada)
Üye

teşekkürler.

 

o işi

var satırlar = textBox1.Text.Split(new[] { '\r', '\n' });
                    foreach (var veri in satırlar.Where(x => !String.IsNullOrEmpty(x)))

 

koduyla çözdüm.

CevapAlıntı
Gönderildi : 05/09/2017 18:18
Paylaş:

Lütfen Giriş yap yada Kayıt ol