c#批量插入却没有数据,
c#写的批量插入,写入的正确的记录条数,但是每一条记录里的字段都是空的(NULL)。
代码如下
using (MySqlConnection conn = new MySqlConnection(connectionString))
{
conn.Open();
MySqlDataAdapter sd = new MySqlDataAdapter();
sd.SelectCommand = new MySqlCommand("select url_link,url_name from urltest where 1=0", conn);
sd.InsertCommand = new MySqlCommand("insert into urltestt (url_link,url_name) "
+ " values (url_link,url_name);", conn);
sd.InsertCommand.Parameters.Add("@url_link", MySqlDbType.VarChar, 255, "urladd");
sd.InsertCommand.Parameters.Add("@url_name", MySqlDbType.VarChar, 255, "urlname");
sd.InsertCommand.UpdatedRowSource = UpdateRowSource.None;
sd.UpdateBatchSize = 0;
DataSet dataset = new DataSet();
sd.Fill(dataset);
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>.*?)</a>");//正则表达式取得连接和标题
Regex regTag = new Regex(@"<[^>]*>");
MatchCollection mc = reg.Matches(htmltext);//htmltext为获得的网页源码
foreach (Match m in mc)
{
string urladd = GetAbsolutePath(urllink, m.Groups["url"].Value);//GetAbsolutePath函数是相对地址转换成绝对地址
string urlname = regTag.Replace(m.Groups["text"].Value.Trim(), "");
object[] row = {urladd,urlname};
this.richTextBox1.Text += row[0].ToString();
dataset.Tables[0].Rows.Add(row);
}
sd.Update(dataset.Tables[0]);
this.label1.Text = dataset.Tables[0].Rows[0][0].ToString()+"------ " + dataset.Tables[0].Rows[0][1].ToString();
//因为一直插入的是空数据,所以在这个让dataset.tables[0]里第一条数据显示,结果是符合要求的正常数据。
dataset.Tables[0].Clear();
sd.Dispose();
dataset.Dispose();
conn.Close();
}
代码如下
using (MySqlConnection conn = new MySqlConnection(connectionString))
{
conn.Open();
MySqlDataAdapter sd = new MySqlDataAdapter();
sd.SelectCommand = new MySqlCommand("select url_link,url_name from urltest where 1=0", conn);
sd.InsertCommand = new MySqlCommand("insert into urltestt (url_link,url_name) "
+ " values (url_link,url_name);", conn);
sd.InsertCommand.Parameters.Add("@url_link", MySqlDbType.VarChar, 255, "urladd");
sd.InsertCommand.Parameters.Add("@url_name", MySqlDbType.VarChar, 255, "urlname");
sd.InsertCommand.UpdatedRowSource = UpdateRowSource.None;
sd.UpdateBatchSize = 0;
DataSet dataset = new DataSet();
sd.Fill(dataset);
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>.*?)</a>");//正则表达式取得连接和标题
Regex regTag = new Regex(@"<[^>]*>");
MatchCollection mc = reg.Matches(htmltext);//htmltext为获得的网页源码
foreach (Match m in mc)
{
string urladd = GetAbsolutePath(urllink, m.Groups["url"].Value);//GetAbsolutePath函数是相对地址转换成绝对地址
string urlname = regTag.Replace(m.Groups["text"].Value.Trim(), "");
object[] row = {urladd,urlname};
this.richTextBox1.Text += row[0].ToString();
dataset.Tables[0].Rows.Add(row);
}
sd.Update(dataset.Tables[0]);
this.label1.Text = dataset.Tables[0].Rows[0][0].ToString()+"------ " + dataset.Tables[0].Rows[0][1].ToString();
//因为一直插入的是空数据,所以在这个让dataset.tables[0]里第一条数据显示,结果是符合要求的正常数据。
dataset.Tables[0].Clear();
sd.Dispose();
dataset.Dispose();
conn.Close();
}
...全文
相关推荐
详解C#把DataTable中数据一次插入数据库的方法
本篇文章主要介绍了详解C#把DataTable中数据一次插入数据库的方法,具有一定的参考价值,有兴趣的可以了解一下。
c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql)
主要介绍了c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql),需要的朋友可以了解一下。
C#中海量数据的批量插入和更新[顶].pdf
C#中海量数据的批量插入和更新[顶].pdf
c#访问access批量插入查询
c#访问access2010,实现批量插入查询,使用带密码的access连接 数据库密码123
直接从CSV文件批量复制/插入到SQL
无需任何Windows应用程序即可直接将数据从CSV文件浏览并复制到SQL ...


