我試着將數據插入到使用C#郎我的數據庫,並在Windows的DataGridView顯示它Form.But它給我的具體錯誤:轉換失敗「@uye_yasi」到的數據類型爲int
轉換VARCHAR值時轉換失敗「@uye_yasi」到的數據類型爲int
我敢肯定,我寫的所有列名correctly.There是一個例外,它的ID.Its主鍵,NOT NULL和自動遞增的。
連接字符串
SqlConnection baglan = new SqlConnection(@"Data Source=CASPER\SQLEXPRESS;Initial Catalog=kutuphane;Integrated Security=True");
的列表方法來顯示上的DataGridView; (工作沒有任何問題)上Form_Load事件
public void listele()
{
DataSet ds1 = new DataSet();
baglan.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from uyeler",baglan);
da.Fill(ds1);
dataGridView1.DataSource = ds1.Tables[0];
baglan.Close();
}
代碼
private void Form3_Load(object sender, EventArgs e)
{
listele();
dataGridView1.Columns[0].HeaderText = "ID";
dataGridView1.Columns[1].HeaderText = "Adı";
dataGridView1.Columns[2].HeaderText = "Soyadı";
dataGridView1.Columns[3].HeaderText = "Yaşı";
dataGridView1.Columns[4].HeaderText = "Adresi";
dataGridView1.Columns[5].HeaderText = "Telefonu";
dataGridView1.Columns[6].HeaderText = "Mail Adresi";
}
代碼在CellContentClick事件的DataGridView上onclick事件
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
int satir = dataGridView1.CurrentRow.Index;
textAd.Text = dataGridView1.Rows[satir].Cells["uye_adi"].Value.ToString();
textSoyad.Text = dataGridView1.Rows[satir].Cells["uye_soyadi"].Value.ToString();
textYas.Text = dataGridView1.Rows[satir].Cells["uye_yasi"].Value.ToString();
textAdres.Text = dataGridView1.Rows[satir].Cells["uye_adresi"].Value.ToString();
textTelefon.Text = dataGridView1.Rows[satir].Cells["uye_telefonu"].Value.ToString();
textMail.Text = dataGridView1.Rows[satir].Cells["uye_mailadresi"].Value.ToString();
}
代碼爲插入按鈕
private void btnEkle_Click(object sender, EventArgs e)
{
baglan.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO uyeler (uye_adi,uye_soyadi,uye_yasi,uye_adresi,uye_telefonu,uye_mailadresi) values ('@uye_adi','@uye_soyadi','@uye_yasi','@uye_adresi','@uye_telefonu','@uye_mailadresi')",baglan);
cmd.Connection = baglan;
cmd.Parameters.AddWithValue("@uye_adi",textAd.Text);
cmd.Parameters.AddWithValue("@uye_soyadi",textSoyad.Text);
cmd.Parameters.AddWithValue("@uye_yasi",textYas.Text);
cmd.Parameters.AddWithValue("@uye_adresi",textAdres.Text);
cmd.Parameters.AddWithValue("@uye_telefonu",textTelefon.Text);
cmd.Parameters.AddWithValue("@uye_mailadresi",textMail.Text);
cmd.ExecuteNonQuery();
baglan.Close();
listele();
}
您的價值在語音標記,所以它被插入爲文本,uye_yasi實際包含什麼? - 它很可能是文本 –
uye_yasi是我的數據庫中的int列。我將它作爲@uye_yasi引用到textYas.Text(包含年齡的文本框) –
將其轉換爲int –