简体   繁体   English

代码中未显示错误,但未将行添加到表中

[英]No error is being shown in the code but rows are not being added to the table

public partial class add_dept : Form
{
    public add_dept()
    {
        InitializeComponent();
    }
    DataSet1 ds = new DataSet1();
    DataSet1TableAdapters.deptTableAdapter dta = new DataSet1TableAdapters.deptTableAdapter();

    private void button1_Click(object sender, EventArgs e)
    {
        if (textBox1.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "")
        {
            dta.Fill(ds.dept);
            bool flag = false;
            for (int i = 0; i <= ds.dept.Rows.Count - 1; i++)
            {
                if(textBox1.Text==ds.dept.Rows[i]["dept_name"].ToString())
                {
                    flag=true;
                    break;
                }
            }
            if (flag==false)
            {
                dta.Fill(ds.dept);
                DataRow d=ds.dept.NewRow();
                d["dept_name"]=textBox1.Text;
                d["emp_no"]=textBox2.Text;
                d["location"]=textBox3.Text;
                d["project_no"]=textBox4.Text;
                ds.dept.Rows.Add(d);
                dta.Update(ds.dept);
                MessageBox.Show("ROW ADDED");
            }
            else
            {
                MessageBox.Show("Department already exists");
            }
        }
    }

table definition is表定义是

CREATE TABLE [dbo].[dept] 
(
    [dept_id]    INT          IDENTITY (100, 1) NOT NULL,
    [dept_name]  VARCHAR (25) NULL,
    [emp_no]     INT          NULL,
    [location]   VARCHAR (50) NULL,
    [project_no] INT          NULL,
    PRIMARY KEY CLUSTERED ([dept_id] ASC)
);

Have you tried using你有没有试过使用

d["emp_no"]=int.Parse(textBox2.Text);

instead of代替

d["emp_no"]=textBox2.Text;

for your integer columns??为您的整数列?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM