得到的datatable数据量在几十万以上,跪求了
下面这种方法可以插入成功 但没有数据 所有行的字段的值都是null,请大侠们帮忙看下,或者有别的方法指点下,最好详细点,先谢过了 DataAccessModel dataAccess = new DataAccessModel();
dataAccess.conStr = this.textBox3.Text.Trim();
string sql = "select time,type,'" + diqu + "' as aera, chnl as td from record ";
DataTable accessDt = dataAccess.GetDataSet(sql);
string mysql = "select time ,type, aera, td from record";
DataSet ds = new DataSet();
MySqlConnection myconn = DataModule.GetDataModule().myconn;
try
{
if (myconn.State == ConnectionState.Closed)
{
myconn.Open();
} MySqlDataAdapter myadpr = new MySqlDataAdapter(mysql, myconn); myadpr.Fill(ds);
int acccount=accessDt.Rows.Count;
this.progressBar1.Maximum = acccount;
this.progressBar1.Value = 0;
for (int i = 0; i < acccount; i++)
{
DataRow dr = ds.Tables[0].NewRow();
dr["time"]=Convert.ToDateTime( accessDt.Rows[i][0]).ToString("yyyy-MM-dd hh:mm:ss");
dr["type"] = accessDt.Rows[i][1].ToString();
dr["aera"] = accessDt.Rows[i][2].ToString();
dr["td"] =Convert.ToInt32( accessDt.Rows[i][3]);
ds.Tables[0].Rows.Add(dr);
this.progressBar1.Value++;
}
MySqlCommand cmd = new MySqlCommand("insert into record values(@time,@type,@aera,@td)",myconn);
cmd.Parameters.Add(new MySqlParameter("@time", MySqlDbType.VarChar));
cmd.Parameters.Add(new MySqlParameter("@type", MySqlDbType.VarChar));
cmd.Parameters.Add(new MySqlParameter("@aera", MySqlDbType.VarChar));
cmd.Parameters.Add(new MySqlParameter("@td", MySqlDbType.Int32));
cmd.Parameters[0].SourceColumn = "time";
cmd.Parameters[0].SourceVersion = DataRowVersion.Original;
cmd.Parameters[1].SourceColumn = "type";
cmd.Parameters[1].SourceVersion = DataRowVersion.Original;
cmd.Parameters[2].SourceColumn = "aera";
cmd.Parameters[2].SourceVersion = DataRowVersion.Original;
cmd.Parameters[3].SourceColumn = "td";
cmd.Parameters[3].SourceVersion = DataRowVersion.Original;
myadpr.InsertCommand = cmd;
myadpr.Update(ds);
ds.AcceptChanges();
下面这种方法可以插入成功 但没有数据 所有行的字段的值都是null,请大侠们帮忙看下,或者有别的方法指点下,最好详细点,先谢过了 DataAccessModel dataAccess = new DataAccessModel();
dataAccess.conStr = this.textBox3.Text.Trim();
string sql = "select time,type,'" + diqu + "' as aera, chnl as td from record ";
DataTable accessDt = dataAccess.GetDataSet(sql);
string mysql = "select time ,type, aera, td from record";
DataSet ds = new DataSet();
MySqlConnection myconn = DataModule.GetDataModule().myconn;
try
{
if (myconn.State == ConnectionState.Closed)
{
myconn.Open();
} MySqlDataAdapter myadpr = new MySqlDataAdapter(mysql, myconn); myadpr.Fill(ds);
int acccount=accessDt.Rows.Count;
this.progressBar1.Maximum = acccount;
this.progressBar1.Value = 0;
for (int i = 0; i < acccount; i++)
{
DataRow dr = ds.Tables[0].NewRow();
dr["time"]=Convert.ToDateTime( accessDt.Rows[i][0]).ToString("yyyy-MM-dd hh:mm:ss");
dr["type"] = accessDt.Rows[i][1].ToString();
dr["aera"] = accessDt.Rows[i][2].ToString();
dr["td"] =Convert.ToInt32( accessDt.Rows[i][3]);
ds.Tables[0].Rows.Add(dr);
this.progressBar1.Value++;
}
MySqlCommand cmd = new MySqlCommand("insert into record values(@time,@type,@aera,@td)",myconn);
cmd.Parameters.Add(new MySqlParameter("@time", MySqlDbType.VarChar));
cmd.Parameters.Add(new MySqlParameter("@type", MySqlDbType.VarChar));
cmd.Parameters.Add(new MySqlParameter("@aera", MySqlDbType.VarChar));
cmd.Parameters.Add(new MySqlParameter("@td", MySqlDbType.Int32));
cmd.Parameters[0].SourceColumn = "time";
cmd.Parameters[0].SourceVersion = DataRowVersion.Original;
cmd.Parameters[1].SourceColumn = "type";
cmd.Parameters[1].SourceVersion = DataRowVersion.Original;
cmd.Parameters[2].SourceColumn = "aera";
cmd.Parameters[2].SourceVersion = DataRowVersion.Original;
cmd.Parameters[3].SourceColumn = "td";
cmd.Parameters[3].SourceVersion = DataRowVersion.Original;
myadpr.InsertCommand = cmd;
myadpr.Update(ds);
ds.AcceptChanges();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货