ช่วยหน่อยครับ โค๊ดติดบั๊ก Incorrect syntax near '('.
Code (C#)
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.Sql;
using System.Data.SqlClient;
namespace Shop
{
public partial class FormEditProduct : Form
{
public FormEditProduct()
{
InitializeComponent();
}
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection("server=REDARMY-LAPTOP;initial catalog=db_shop;user=sa;password=1234");
SqlDataAdapter da = new SqlDataAdapter();
BindingSource tbproduct = new BindingSource();
private void button1_Click(object sender, EventArgs e)
{
int x;
da.UpdateCommand = new SqlCommand("Update tb_product(name_prd, ref_id_type, detail_prd, price_prd) SET name_prd=@name_prd,ref_id_type=@ref_id_type,detail_prd=@detail_prd,price_prd=@price_prd",con);
da.UpdateCommand.Parameters.AddWithValue("@name_prd",SqlDbType.NChar).Value = textBox1.Text;
da.UpdateCommand.Parameters.AddWithValue("@ref_id_type", SqlDbType.Int).Value = comboBox1.SelectedValue;
da.UpdateCommand.Parameters.AddWithValue("@detail_prd", SqlDbType.Text).Value = textBox2.Text;
da.UpdateCommand.Parameters.AddWithValue("@price_prd", SqlDbType.Int).Value = textBox3.Text;
da.UpdateCommand.Parameters.AddWithValue("@id_prd", SqlDbType.Int).Value = ds.Tables[0].Rows[tbproduct.Position][0];
con.Open();
x = da.UpdateCommand.ExecuteNonQuery();
con.Close();
if(x >= 1)
MessageBox.Show("Record is Update");
}
private void button2_Click(object sender, EventArgs e)
{
da.SelectCommand = new SqlCommand("select * from tb_product",con);
ds.Clear();
da.Fill(ds);
dg.DataSource = ds.Tables[0];
tbproduct.DataSource = ds.Tables[0];
textBox1.DataBindings.Add(new Binding("text", tbproduct, "name_prd"));
comboBox1.DataBindings.Add(new Binding("text", tbproduct, "ref_id_type"));
textBox2.DataBindings.Add(new Binding("text", tbproduct, "detail_prd"));
textBox3.DataBindings.Add(new Binding("text", tbproduct, "price_prd"));
}
private void FormEditProduct_Load(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
tbproduct.MovePrevious();
dgUpdate();
}
private void button4_Click(object sender, EventArgs e)
{
tbproduct.MoveNext();
dgUpdate();
}
private void dgUpdate()
{
dg.ClearSelection();
dg.Rows[tbproduct.Position].Selected = true;
}
}
}
มัน Error ที่บรรทัดที่ขีดเส่นไว้อ่ะคับ
หาทั้งวันแล้วไม่เจอสักที ช่วยหน่อยนะครับTag : .NET, C#
Date :
2010-10-07 01:27:44
By :
redarmy_yoona
View :
1476
Reply :
7
บรรทัดที่ 38 อ่ะคับ ช่วยดูให้หน่อยนะครับ
Date :
2010-10-07 01:29:00
By :
redarmy_yoona
ดูแล้วค่ะ ที่ผิดคือ บรรทัดที่ 30
นี่ update นะคะไม่ใช่ insert อย่าเพิ่งสับสนค่ะ ดูให้ดี
เหมือนจะ copy มาจากการ insert หรือเปล่า ?
Date :
2010-10-07 01:46:38
By :
blurEyes
ลองแก้แล้ว
Error อันนี้แทนครับ
The parameterized query '(@name_prd nvarchar(60),@ref_id_type nvarchar(4000),@detail_prd ' expects the parameter '@ref_id_type', which was not supplied.
Date :
2010-10-07 04:03:50
By :
redarmy_yoona
Go to : SQL UPDATE
Date :
2010-10-07 06:08:23
By :
webmaster
Code (C#)
("@ref_id_type", SqlDbType.Int) typeเป็น int
type มันไม่ตรงกันรึป่าวค่ะ
@ref_id_type nvarchar(4000) type เป็น nvarchar
Date :
2010-10-07 09:24:03
By :
poipypunch_9
addwithvalue ไม่ต้องกำหนด type นะ
Date :
2010-10-07 09:47:15
By :
tungman
ได้แล้วครับ
มันส่งค่าจาก ref_id_type ไม่ได้
ขอบคุณทุกคำแนะนำคับ
Date :
2010-10-07 16:59:27
By :
redarmy_yoona
Load balance : Server 03