为什么我用dataset里的数据更新到数据库显示插入语句错误

String mycnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(" App_Data/员工信息表2.mdb");
OleDbConnection myconnection = new OleDbConnection(mycnstr);//连接数据库
myconnection.Open();//打开数据库
string yyy = " select * from 表1";

OleDbDataAdapter da = new OleDbDataAdapter(yyy, myconnection );
OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds, "表1");
DataTable tb = ds.Tables["表1"];
tb.PrimaryKey = new DataColumn[] { tb.Columns ["login"]};
DataRow dr = ds.Tables["表1"].NewRow();
dr["login"] = TextBox1 .Text ;
dr["name"] = TextBox2 .Text ;
dr["gender"] = TextBox3.Text;
dr["age"] = TextBox4.Text;
dr["password"] = TextBox5.Text;
dr["occupy"] = TextBox6.Text;
dr["category"] = TextBox7.Text;

ds.Tables["表1"].Rows.Add(dr);//上面全是各个字段赋值

da.Update(ds,"表1");

在调试里看最终形成的SQL语句啊