viethack911
13-10-2010, 12:13
[QUOTE=viethack911;171082]Mình đang làm 1 bài tập về quản lý hợp đồng, trong đó có chức năng tạo mới HD, mình thực hiện bằng cách truyền dữ liệu nhập từ các textbox vào các biến của proceduce viết trong Sql nên đã làm:
//proceduce nhập dữ liệu vào HD mới:
create proc addHD (@MaHD nvarchar (50),@TenHD nvarchar(max),@BenA nvarchar(max),@DiaChiA nvarchar(max),@NguoiDaiDienA nvarchar(max),@ChucVuA nvarchar(max),@SoGiayUyQuyenA nvarchar(max),@BenB nvarchar(max),@DiaChiB nvarchar(max),@NguoiDaiDienB nvarchar(max),@ChucVuB nvarchar(max),@SoGiayUyQuyenB nvarchar(max),@TinhTrang int,@NgayHieuLuc datetime,@NgayHetHan datetime,@GiaTri numeric(18,0),@DonGia numeric(18,0),@GhiChu nvarchar(max),@NoiDung image)
as
insert HopDong values(@MaHD,@TenHD,@BenA,@DiaChiA,@NguoiDaiDienA,@ChucVuA,@SoGiayUyQuyenA,@BenB ,@DiaChiB,@NguoiDaiDienB,@ChucVuB,@SoGiayUyQuyenB,@TinhTrang,@NgayHieuLuc,@NgayH etHan,@GiaTri,@DonGia,@GhiChu,@NoiDung)
//sau đó viết hàm nhập dữ liệu bên C#:
public void addHD()
{
var sc = new SqlConnection(ketnoi.chuoiketnoi);
sc.Open();
var scm = new SqlCommand("addHD", sc);
scm.Parameters.AddWithValue("@MaHD", MaHD);
scm.Parameters.AddWithValue("@TenHD", TenHD);
scm.Parameters.AddWithValue("@BenA", BenA);
scm.Parameters.AddWithValue("@DiaChiA", DiaChiA);
scm.Parameters.AddWithValue("@NguoiDaiDienA", NguoiDaiDienA);
scm.Parameters.AddWithValue("@ChucVuA", ChucVuA);
scm.Parameters.AddWithValue("@SoGiayUyQuyenA", SoGiayUyQuyenA);
scm.Parameters.AddWithValue("@BenB", BenB);
scm.Parameters.AddWithValue("@DiaChiB", DiaChiB);
scm.Parameters.AddWithValue("@NguoiDaiDienB", NguoiDaiDienB);
scm.Parameters.AddWithValue("@ChucVuB", ChucVuB);
scm.Parameters.AddWithValue("@SoGiayUyQuyenB", SoGiayUyQuyenB);
scm.Parameters.AddWithValue("@TinhTrang", TinhTrang);
scm.Parameters.AddWithValue("@NgayHieuLuc", NgayHieuLuc);
scm.Parameters.AddWithValue("@NgayHetHan", NgayHetHan);
scm.Parameters.AddWithValue("@GiaTri", GiaTri);
scm.Parameters.AddWithValue("@DonGia", DonGia);
scm.Parameters.AddWithValue("@GhiChu", GhiChu);
//scm.Parameters.AddWithValue("@NoiDung", NoiDung);
scm.ExecuteNonQuery();
sc.Close();
}
//cuối cùng mình viết biến cố khi click buttom nhập dữ liệu:
protected void Button1_Click(object sender, EventArgs e)
{
var hd = new HopDong();
hd.MaHD = TextBox1.Text.Trim();
hd.TenHD = TextBox2.Text.Trim();
hd.BenA = TextBox3.Text.Trim();
hd.DiaChiA = TextBox4.Text.Trim();
hd.NguoiDaiDienA = TextBox5.Text.Trim();
hd.ChucVuA = TextBox6.Text.Trim();
hd.SoGiayUyQuyenA = TextBox7.Text.Trim();
hd.BenB = TextBox8.Text.Trim();
hd.DiaChiB = TextBox9.Text.Trim();
hd.NguoiDaiDienB = TextBox10.Text.Trim();
hd.ChucVuB = TextBox11.Text.Trim();
hd.SoGiayUyQuyenB = TextBox12.Text.Trim();
hd.TinhTrang = System.Convert.ToInt32(TextBox13.Text);
hd.NgayHieuLuc = System.Convert.ToDateTime(TextBox14.Text);
hd.NgayHetHan = System.Convert.ToDateTime(TextBox15.Text);
hd.GiaTri = System.Convert.ToInt64(TextBox16.Text);
hd.DonGia = System.Convert.ToInt64(TextBox16.Text);
hd.GhiChu = TextBox18.Text.Trim();
//hd.NoiDung = TextBox19.Text.Trim();
hd.addHD();
Response.Redirect("nhapthanhcongHD.aspx?id=1", true);
}
//Khi chạy thì xuất hiện lỗi:
Procedure or function 'addHD' expects parameter '@MaHD', which was not supplied.
-> Anh em xem giùm mình xem code của mình có vấn đề ở đâu và có thể hướng dẫn giùm mình cách viết nào gọn gọn hơn ở trên, mình còn gà quá
Thanks mọi người ^^!
//proceduce nhập dữ liệu vào HD mới:
create proc addHD (@MaHD nvarchar (50),@TenHD nvarchar(max),@BenA nvarchar(max),@DiaChiA nvarchar(max),@NguoiDaiDienA nvarchar(max),@ChucVuA nvarchar(max),@SoGiayUyQuyenA nvarchar(max),@BenB nvarchar(max),@DiaChiB nvarchar(max),@NguoiDaiDienB nvarchar(max),@ChucVuB nvarchar(max),@SoGiayUyQuyenB nvarchar(max),@TinhTrang int,@NgayHieuLuc datetime,@NgayHetHan datetime,@GiaTri numeric(18,0),@DonGia numeric(18,0),@GhiChu nvarchar(max),@NoiDung image)
as
insert HopDong values(@MaHD,@TenHD,@BenA,@DiaChiA,@NguoiDaiDienA,@ChucVuA,@SoGiayUyQuyenA,@BenB ,@DiaChiB,@NguoiDaiDienB,@ChucVuB,@SoGiayUyQuyenB,@TinhTrang,@NgayHieuLuc,@NgayH etHan,@GiaTri,@DonGia,@GhiChu,@NoiDung)
//sau đó viết hàm nhập dữ liệu bên C#:
public void addHD()
{
var sc = new SqlConnection(ketnoi.chuoiketnoi);
sc.Open();
var scm = new SqlCommand("addHD", sc);
scm.Parameters.AddWithValue("@MaHD", MaHD);
scm.Parameters.AddWithValue("@TenHD", TenHD);
scm.Parameters.AddWithValue("@BenA", BenA);
scm.Parameters.AddWithValue("@DiaChiA", DiaChiA);
scm.Parameters.AddWithValue("@NguoiDaiDienA", NguoiDaiDienA);
scm.Parameters.AddWithValue("@ChucVuA", ChucVuA);
scm.Parameters.AddWithValue("@SoGiayUyQuyenA", SoGiayUyQuyenA);
scm.Parameters.AddWithValue("@BenB", BenB);
scm.Parameters.AddWithValue("@DiaChiB", DiaChiB);
scm.Parameters.AddWithValue("@NguoiDaiDienB", NguoiDaiDienB);
scm.Parameters.AddWithValue("@ChucVuB", ChucVuB);
scm.Parameters.AddWithValue("@SoGiayUyQuyenB", SoGiayUyQuyenB);
scm.Parameters.AddWithValue("@TinhTrang", TinhTrang);
scm.Parameters.AddWithValue("@NgayHieuLuc", NgayHieuLuc);
scm.Parameters.AddWithValue("@NgayHetHan", NgayHetHan);
scm.Parameters.AddWithValue("@GiaTri", GiaTri);
scm.Parameters.AddWithValue("@DonGia", DonGia);
scm.Parameters.AddWithValue("@GhiChu", GhiChu);
//scm.Parameters.AddWithValue("@NoiDung", NoiDung);
scm.ExecuteNonQuery();
sc.Close();
}
//cuối cùng mình viết biến cố khi click buttom nhập dữ liệu:
protected void Button1_Click(object sender, EventArgs e)
{
var hd = new HopDong();
hd.MaHD = TextBox1.Text.Trim();
hd.TenHD = TextBox2.Text.Trim();
hd.BenA = TextBox3.Text.Trim();
hd.DiaChiA = TextBox4.Text.Trim();
hd.NguoiDaiDienA = TextBox5.Text.Trim();
hd.ChucVuA = TextBox6.Text.Trim();
hd.SoGiayUyQuyenA = TextBox7.Text.Trim();
hd.BenB = TextBox8.Text.Trim();
hd.DiaChiB = TextBox9.Text.Trim();
hd.NguoiDaiDienB = TextBox10.Text.Trim();
hd.ChucVuB = TextBox11.Text.Trim();
hd.SoGiayUyQuyenB = TextBox12.Text.Trim();
hd.TinhTrang = System.Convert.ToInt32(TextBox13.Text);
hd.NgayHieuLuc = System.Convert.ToDateTime(TextBox14.Text);
hd.NgayHetHan = System.Convert.ToDateTime(TextBox15.Text);
hd.GiaTri = System.Convert.ToInt64(TextBox16.Text);
hd.DonGia = System.Convert.ToInt64(TextBox16.Text);
hd.GhiChu = TextBox18.Text.Trim();
//hd.NoiDung = TextBox19.Text.Trim();
hd.addHD();
Response.Redirect("nhapthanhcongHD.aspx?id=1", true);
}
//Khi chạy thì xuất hiện lỗi:
Procedure or function 'addHD' expects parameter '@MaHD', which was not supplied.
-> Anh em xem giùm mình xem code của mình có vấn đề ở đâu và có thể hướng dẫn giùm mình cách viết nào gọn gọn hơn ở trên, mình còn gà quá
Thanks mọi người ^^!