dbClass m_dbclass = new dbClass();// dbClass是从朋友那里拿到的类库
SqlDataReader m_reader = null;
string[] department = { "A", "B", "c", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M" };
foreach (string department_name in department)
{
string Department_sql = "update 表名 set 字段名1='" + department_name + "' ";
m_reader = m_dbclass.getReader(Department_sql);
}
DataTable m_dt = new DataTable();
m_dt.Columns.Add("科室", typeof(string));
if (m_reader.HasRows)
{
while (m_reader.Read())
{
DataRow m_dr = m_dt.NewRow(); m_dr[0] = m_reader["字段名1"].ToString().Trim();
m_dt.Rows.Add(m_dr);
}
}
dataGridView2.DataSource = m_dt;
现在我运行程序做完循环后,科室这一列所有值都变成“M”了,但是我想做到的效果是A到M的循环,也就是说在科室这一列是A,B,C,D,E,F.....M,A,B,C......这样的
请问我应该怎么修改??
SqlDataReader m_reader = null;
string[] department = { "A", "B", "c", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M" };
foreach (string department_name in department)
{
string Department_sql = "update 表名 set 字段名1='" + department_name + "' ";
m_reader = m_dbclass.getReader(Department_sql);
}
DataTable m_dt = new DataTable();
m_dt.Columns.Add("科室", typeof(string));
if (m_reader.HasRows)
{
while (m_reader.Read())
{
DataRow m_dr = m_dt.NewRow(); m_dr[0] = m_reader["字段名1"].ToString().Trim();
m_dt.Rows.Add(m_dr);
}
}
dataGridView2.DataSource = m_dt;
现在我运行程序做完循环后,科室这一列所有值都变成“M”了,但是我想做到的效果是A到M的循环,也就是说在科室这一列是A,B,C,D,E,F.....M,A,B,C......这样的
请问我应该怎么修改??
foreach (string department_name in department)
{
string Department_sql = "update 表名 set 字段名1='" + department_name + "' ";
m_reader = m_dbclass.getReader(Department_sql);
}
for循环中都在更新同一个字段,知道更新到M为止,不是M才怪
我也知道毛病 但是怎么改呢??
能麻烦讲解下么
我又想用foreach循环,又想达到读一次就写一次的循环、、怎么搞啊
string Department_sql="";
foreach (string department_name in department)
{
Department_sql+= "update 表名 set 字段名1='" + department_name + "' ";
m_reader = m_dbclass.getReader(Department_sql);
}
update后面没带任何条件,每次都会更新所有纪录,至到M
你可以分块读到dataTable中,然后遍历更新数据,最后调用dt.Update