sqlDataAdapter的FillSchema用法

FillSchema是用来向DataTable中填入详细的元数据信息的,例如(column names, primary key, constraints等),但不填入数据。
Fill主要是用来填入数据的,在缺省情况下只填入少量必要的元数据信息,例如(column names, data types)。 
所以,一般先用FillSchema来填入详细的元数据信息,再用Fill来填充数据

使用SqlDataAdapter.FillSchema方法可以填充数据表的主键和约束,但无法填充主外键

  private void button1_Click(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();//创建一个表
            dt = ds.Tables[0];//将DataSet中的数据赋值给dt表
            sda.FillSchema(dt, SchemaType.Mapped);  //FillSchema是用来向DataTable中填入详细的元数据信息的,例如(column names, primary key, constraints等),但不填入数据。
            DataRow dr = dt.Rows.Find(txtID.Text);//表示DataTable中的一行数据
            //设置DataRow中的值
            dr["orderdate"] = txtorderdate.Text;
            dr["ordercode"] = txtordercode.Text;
            dr["materialscode"] = txtmaterialscode.Text;
            dr["materialsquantity"] = txtmaterialsquantity.Text;

            SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(sda);
            sda.Update(dt);

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            conn = new SqlConnection("server =D008;database =GoogolOrderMangment;uid = sa;pwd = 123456");
            SqlCommand cmd = new SqlCommand("select * from materialsdownload", conn);
            sda = new SqlDataAdapter();
            sda.SelectCommand = cmd;
            ds = new DataSet();
            sda.Fill(ds, "cs");
            dataGridView1.DataSource = ds.Tables[0];
        }

猜你喜欢

转载自blog.csdn.net/ABC13222880223/article/details/81939164