【问题标题】:How to add a column by LINQ to SQL (C#)如何通过 LINQ to SQL (C#) 添加列
【发布时间】:2014-04-04 21:11:00
【问题描述】:

![把图片放在这里!][1]

这是我项目的图片。

我需要使用 LINQ (C#) 将性别列添加到 SQL 数据库。

类添加:

public bool addNhanvien(string manv, string tennv, string ngaysinh, string chucvu, string sdt,
        string sex,
        string diachi, string quequan, string bangcap, string bophan)
    {
        NhanVien nv = new NhanVien();
        nv.MaNV = manv;
        nv.TenNV = tennv;
        nv.Ngaysinh = Convert.ToDateTime(ngaysinh);
        nv.Sex = sex;
        nv.Chucvu = chucvu;
        nv.SDT = Convert.ToInt32(sdt);
        nv.Diachi = diachi;
        nv.Quequan = quequan;
        nv.Bangcap = bangcap;
        nv.Bophan = bophan;
        qlysach.NhanViens.InsertOnSubmit(nv);

        try
        {
            qlysach.SubmitChanges();
            return true;
        }
        catch (Exception)
        {
            return false;
        }
    }

类按钮添加

if (nhanvien.addNhanvien(txtMaNV.Text, txtTenNV.Text, txtNgaySinh.Text,
            grpSex.Text, txtxSDT.Text,
            cboxChucVu.Text,  txtDiaChi.Text, txtQueQuan.Text,
            cboxBangCap.Text, cboxBoPhan.Text) == true)
        {
            dtgQuanlynhanvien.DataSource = nhanvien.getAllNV();
            MessageBox.Show("successfull");
        }
        else
        {
            MessageBox.Show("error");
        }

它抛出一个错误[哪个错误?]。

非常感谢!

【问题讨论】:

  • 只返回 false 和吞咽异常无济于事。在变量中捕获异常,记录它/放置一个断点并查看它。

标签: c# sql winforms linq


【解决方案1】:

我不懂越南语,但看起来你在调用函数的错误位置添加了新参数:

public bool addNhanvien(string manv, string tennv, string ngaysinh, 
    string chucvu, string sdt,
    string sex,
    string diachi, string quequan, string bangcap, string bophan)


if (nhanvien.addNhanvien(txtMaNV.Text, txtTenNV.Text, txtNgaySinh.Text,
            grpSex.Text, txtxSDT.Text,
            cboxChucVu.Text,  txtDiaChi.Text, txtQueQuan.Text,
            cboxBangCap.Text, cboxBoPhan.Text) == true)

请注意,第四个参数是chucvu,但您传入的是grpSex.Text。第 5 个和第 6 个参数看起来也有问题。检查参数的顺序,但看起来你需要:

if (nhanvien.addNhanvien(txtMaNV.Text, txtTenNV.Text, txtNgaySinh.Text,
            cboxChucVu.Text, txtxSDT.Text, 
            grpSex.Text, 
            txtDiaChi.Text, txtQueQuan.Text, cboxBangCap.Text, cboxBoPhan.Text
   ) == true)

如果抛出异常,您还应该做其他事情,而不是仅仅返回false。至少你可以重新抛出异常,或者你可以添加日志来查看错误是什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2011-08-22
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多