Formun Tamamı İçin Tıklayınız.
ŞARTLAR
*Textbox ' a girilen şehrin ismi access ' e kaydedilecek.
*Access ' e kaydedilen şehirler combobox ' ta gözükecek.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsFormsApplication12
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\lab 102\\Desktop\\vu.mdb");
baglan.Open();
OleDbCommand komut = new OleDbCommand("insert into sehir(sehir) values ('" + textBox1.Text + "')", baglan);
komut.ExecuteNonQuery();
textBox1.Clear();
}
private void button2_Click(object sender, EventArgs e)
{
comboBox1.Items.Clear();
OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\lab 102\\Desktop\\vu.mdb");
baglan.Open();
OleDbCommand komut = new OleDbCommand();
komut.CommandText = "select * from sehir";
komut.Connection = baglan;
OleDbDataReader oku = komut.ExecuteReader();
while (oku.Read())
{
comboBox1.Items.Add(oku[0].ToString());
}
}
}
}
EMRE KOŞAR'a TEŞEKKÜRLER
YanıtlaSilANADOLU 11-A
iyi günler kolay gelsin, benim bir sorum olacaktı, ben insert into ile veritabanına ekleme yapmak istiyorum fakat bazı alanlar boş kalacak daha sonradan doldurulacak şöyle OleDbCommand comma = new OleDbCommand("insert into dokuman (kodu, adi, yurTarihi, belgeTuru, aciklama, agacId, revNo, revTarihi) values (" + textBox1.Text + ", '" + textBox2.Text + "', '" + dateTimePicker1.Text + "', '" + comboBox1.Text + "', '" + richTextBox1.Text + "', "+sayi+", null, null)", conn);yaptım fakat olmadı;
YanıtlaSilyardımcı olur musunuz?
Access ' te sayı olarak tanımlanmış alan varsa o alana boş değer giremezsiniz. Onun yerine ya kendiniz "0" değeri veya başka bir sayı verip kaydedebilirsiniz.
SilOleDbCommand comma = new OleDbCommand("insert into dokuman (kodu, adi, yurTarihi, belgeTuru, aciklama, agacId, revNo, revTarihi) values ('" + textBox1.Text + "', '" + textBox2.Text + "', '"+ dateTimePicker1.Text+"' , '" + comboBox1.Text + "', '" + richTextBox1.Text + "', '"+sayi+"', '" + "0" + "', '" + "0" + "')", conn);
2. bi yöntem ise Access' te sayı olarak tanımlanmış bölümü text olarak değiştirin böylece istediğiniz şekilde veri girebilirsiniz. Fakat daha sonra oraya girilen sayıyla işlem yapacaksanız convert etmeniz gerekebilir.
NOT : Hata tırnak işaretlerinden de kaynaklanıyor olabilir.
values ( ' " + textBox1.Text + " ' , ' " + textBox2.Text + " ' tek tırnak ve çift tırnakların yerlerine dikkat edin.