C#做个通用 实现不同Excel表导入不同数据库 问题出现在 导入一个表时 那就对应这个表字段 完事数据库里建相同字段的数据库 那我想实现 好几个Excel表导入不同数据库 怎么做
因为每个表字段不一样 怎么能实现 简单点 就假如我就要导5个表 而且把表字段都对应了 我做的是 导1表 就把其余4个表字段注释了 我想怎么能不用注释 想导几表就是几表 会的 帮帮忙 谢啦
private void button3_Click(object sender, EventArgs e)
{
//添加单挑记录
//string name = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
//int age = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[1].Value.ToString());
//string xbie = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
//Add(name, age, xbie);
bool bFlag = AddDatasetToSQL(ExecleDs(txtEntry.Text));
} /// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集列数</param>
/// <returns></returns>
public bool AddDatasetToSQL(DataSet pds)
{ if (pds != null && pds.Tables[0].Rows.Count > 0)
{ for (int i = 1; i < pds.Tables[0].Rows.Count; i++)
{
//类型表
Add(//Convert.ToInt32(pds.Tables[0].Rows[i][0].ToString()),
pds.Tables[0].Rows[i][0].ToString(),
pds.Tables[0].Rows[i][1].ToString());
} //类别表
// Add(//Convert.ToInt32(pds.Tables[0].Rows[i][0].ToString()),
// pds.Tables[0].Rows[i][0].ToString(),
// pds.Tables[0].Rows[i][1].ToString());
//}
//名称表
// string ExistSql = "select count(*) from Table_name where Form_a_name='" + pds.Tables[0].Rows[i][1].ToString() + "'";
// if ((int)SQLE.GetScalarData(ExistSql) > 0)
// {
// MessageBox.Show("该记录已存在!");
// return false;
// }
// Add(pds.Tables[0].Rows[i][0].ToString(),
// pds.Tables[0].Rows[i][1].ToString(),
// pds.Tables[0].Rows[i][2].ToString());
//}
//材质表
// string ExistSql = "select count(*) from Table_mater where Card_number='" + pds.Tables[0].Rows[i][1].ToString() + "'";
// if ((int)SQLE.GetScalarData(ExistSql) > 0)
// {
// MessageBox.Show("该记录已存在!");
// return false;
// }
// Add(pds.Tables[0].Rows[i][0].ToString(),
// pds.Tables[0].Rows[i][1].ToString());
//}
//规格表
// Add(pds.Tables[0].Rows[i][0].ToString(),
// pds.Tables[0].Rows[i][1].ToString());
//} MessageBox.Show("插入成功!");
}
else
{
throw new Exception("导入数据为空!");
}
return true; } /// <summary>
/// 插入数据到数据库
/// </summary> //类型表
public void Add(string Metal_category, string Category_classcode)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into Table_type(");
strSql.Append("Metal_category,Category_classcode");
strSql.Append(")");
strSql.Append(" values (");
strSql.Append("'" + Metal_category.Trim() + "',");
strSql.Append("'" + Category_classcode.Trim() + "'");
//类别表
//public void Add(string Form_category, string Form_category_c)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("insert into Table_category(");
// strSql.Append("Form_category,Form_category_c");
// strSql.Append(")");
// strSql.Append(" values (");
// strSql.Append("'" + Form_category.Trim() + "',");
// strSql.Append("'" + Form_category_c.Trim() + "'");
//名称表
//public void Add(string Form_a_subclass_c, string Form_a_name, string Referred_to)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("insert into Table_name(");
// strSql.Append("Form_a_subclass_c,Form_a_name,Referred_to");
// strSql.Append(")");
// strSql.Append(" values (");
// strSql.Append("'" + Form_a_subclass_c + "',");
// strSql.Append("'" + Form_a_name.Trim() + "',");
// strSql.Append("'" + Referred_to.Trim() + "'");
//材质表
//public void Add(string Brand, string Card_number)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("insert into Table_mater(");
// strSql.Append("Brand,Card_number");
// strSql.Append(")");
// strSql.Append(" values (");
// strSql.Append("'" + Brand.Trim() + "',");
// strSql.Append("'" + Card_number.Trim() + "'");
//规格表
//public void Add(string Specification_name, string Specification)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("insert into Table_specifications(");
// strSql.Append("Specification_name,Specification");
// strSql.Append(")");
// strSql.Append(" values (");
// strSql.Append("'" + Specification_name.Trim() + "',");
// strSql.Append("'" + Specification.Trim() + "'"); strSql.Append(")");
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
SqlCommand comd = new SqlCommand(strSql.ToString(), conn);
comd.ExecuteNonQuery();
conn.Close();
因为每个表字段不一样 怎么能实现 简单点 就假如我就要导5个表 而且把表字段都对应了 我做的是 导1表 就把其余4个表字段注释了 我想怎么能不用注释 想导几表就是几表 会的 帮帮忙 谢啦
private void button3_Click(object sender, EventArgs e)
{
//添加单挑记录
//string name = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
//int age = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[1].Value.ToString());
//string xbie = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
//Add(name, age, xbie);
bool bFlag = AddDatasetToSQL(ExecleDs(txtEntry.Text));
} /// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集列数</param>
/// <returns></returns>
public bool AddDatasetToSQL(DataSet pds)
{ if (pds != null && pds.Tables[0].Rows.Count > 0)
{ for (int i = 1; i < pds.Tables[0].Rows.Count; i++)
{
//类型表
Add(//Convert.ToInt32(pds.Tables[0].Rows[i][0].ToString()),
pds.Tables[0].Rows[i][0].ToString(),
pds.Tables[0].Rows[i][1].ToString());
} //类别表
// Add(//Convert.ToInt32(pds.Tables[0].Rows[i][0].ToString()),
// pds.Tables[0].Rows[i][0].ToString(),
// pds.Tables[0].Rows[i][1].ToString());
//}
//名称表
// string ExistSql = "select count(*) from Table_name where Form_a_name='" + pds.Tables[0].Rows[i][1].ToString() + "'";
// if ((int)SQLE.GetScalarData(ExistSql) > 0)
// {
// MessageBox.Show("该记录已存在!");
// return false;
// }
// Add(pds.Tables[0].Rows[i][0].ToString(),
// pds.Tables[0].Rows[i][1].ToString(),
// pds.Tables[0].Rows[i][2].ToString());
//}
//材质表
// string ExistSql = "select count(*) from Table_mater where Card_number='" + pds.Tables[0].Rows[i][1].ToString() + "'";
// if ((int)SQLE.GetScalarData(ExistSql) > 0)
// {
// MessageBox.Show("该记录已存在!");
// return false;
// }
// Add(pds.Tables[0].Rows[i][0].ToString(),
// pds.Tables[0].Rows[i][1].ToString());
//}
//规格表
// Add(pds.Tables[0].Rows[i][0].ToString(),
// pds.Tables[0].Rows[i][1].ToString());
//} MessageBox.Show("插入成功!");
}
else
{
throw new Exception("导入数据为空!");
}
return true; } /// <summary>
/// 插入数据到数据库
/// </summary> //类型表
public void Add(string Metal_category, string Category_classcode)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into Table_type(");
strSql.Append("Metal_category,Category_classcode");
strSql.Append(")");
strSql.Append(" values (");
strSql.Append("'" + Metal_category.Trim() + "',");
strSql.Append("'" + Category_classcode.Trim() + "'");
//类别表
//public void Add(string Form_category, string Form_category_c)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("insert into Table_category(");
// strSql.Append("Form_category,Form_category_c");
// strSql.Append(")");
// strSql.Append(" values (");
// strSql.Append("'" + Form_category.Trim() + "',");
// strSql.Append("'" + Form_category_c.Trim() + "'");
//名称表
//public void Add(string Form_a_subclass_c, string Form_a_name, string Referred_to)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("insert into Table_name(");
// strSql.Append("Form_a_subclass_c,Form_a_name,Referred_to");
// strSql.Append(")");
// strSql.Append(" values (");
// strSql.Append("'" + Form_a_subclass_c + "',");
// strSql.Append("'" + Form_a_name.Trim() + "',");
// strSql.Append("'" + Referred_to.Trim() + "'");
//材质表
//public void Add(string Brand, string Card_number)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("insert into Table_mater(");
// strSql.Append("Brand,Card_number");
// strSql.Append(")");
// strSql.Append(" values (");
// strSql.Append("'" + Brand.Trim() + "',");
// strSql.Append("'" + Card_number.Trim() + "'");
//规格表
//public void Add(string Specification_name, string Specification)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("insert into Table_specifications(");
// strSql.Append("Specification_name,Specification");
// strSql.Append(")");
// strSql.Append(" values (");
// strSql.Append("'" + Specification_name.Trim() + "',");
// strSql.Append("'" + Specification.Trim() + "'"); strSql.Append(")");
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
SqlCommand comd = new SqlCommand(strSql.ToString(), conn);
comd.ExecuteNonQuery();
conn.Close();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货