C#里怎么样才能把mySQL数据插入msSQL数据库?
我写了个小程序,已经连接上mySQL数据库,并已查询出需要的记录,
如何在单击"插入"按钮后就把查询出的mySQL记录插入到msSQL数据库里相应的表里呢 ?
并且: ①不能重复插入相同的记录,②插入过的记录不再显示
我把源代码发上来,请各位大侠指点一下小弟.谢谢!!
http://pan.baidu.com/s/1rEkDQ
用C#把mySQL数据插入msSQL数据库
答案:2 悬赏:30 手机版
解决时间 2021-03-01 08:42
- 提问者网友:城市野鹿
- 2021-02-28 21:04
最佳答案
- 五星知识达人网友:醉吻情书
- 2021-02-28 22:20
这样吧你那程序我也打不开,写段代码来解释这个过程,用ADO简单讲解一下:
using System.Data.SqlClient;
...
void charu(string zhi1;int zhi2) //插入你的数据
{
SqlConnection cnn=new SqlConnection();
cnn.ConnectionString="Server=SQL地址服务器1;uid=...;pwd=...;DataBase=数据库1";
cnn.Open();
DataSet ds=new DataSet();
SqlDataAdapter sda=new SqlDataAdapter("Insert Into 要插入的表(字段1,字段2)values('"+zhi1+"','"+zhi2+"')",cnn);
sda.Fill(ds);
}
void genxincaozuo(string tiaojian) //检索你要插入的数据一条一条插入
{
SqlConnection cnn=new SqlConnection();
cnn.ConnectionString="Server=SQL地址服务器2;uid=...;pwd=...;DataBase=数据库2";
try{
cnn.Open();
DataSet ds=new DataSet();
SqlDataAdapter sda=new SqlDataAdapter("Select * from 准备插入的表 where 条件字段='"+tiaojian+"'",cnn);
sda.Fill(ds);
for(int i=0;i
{
string str1=ds.Tables[0].Rows[i]["字段名1"].ToString();
int Z1=Convert.ToInt32(ds.Tables[0].Rows[i]["字段名2"].ToString());
charu(str1,Z1); //在这里嵌套插入函数
}
catch(SQL Exception e)
{
MessageBox.Show(e.ToString());
}
finnaly
{
cnn.Close();
}
}
}这个办法是堆栈办法,ADO最简单的方法,也相对比较快一点,用Session就是表对表插入,比这个更浪费时间,
using System.Data.SqlClient;
...
void charu(string zhi1;int zhi2) //插入你的数据
{
SqlConnection cnn=new SqlConnection();
cnn.ConnectionString="Server=SQL地址服务器1;uid=...;pwd=...;DataBase=数据库1";
cnn.Open();
DataSet ds=new DataSet();
SqlDataAdapter sda=new SqlDataAdapter("Insert Into 要插入的表(字段1,字段2)values('"+zhi1+"','"+zhi2+"')",cnn);
sda.Fill(ds);
}
void genxincaozuo(string tiaojian) //检索你要插入的数据一条一条插入
{
SqlConnection cnn=new SqlConnection();
cnn.ConnectionString="Server=SQL地址服务器2;uid=...;pwd=...;DataBase=数据库2";
try{
cnn.Open();
DataSet ds=new DataSet();
SqlDataAdapter sda=new SqlDataAdapter("Select * from 准备插入的表 where 条件字段='"+tiaojian+"'",cnn);
sda.Fill(ds);
for(int i=0;i
string str1=ds.Tables[0].Rows[i]["字段名1"].ToString();
int Z1=Convert.ToInt32(ds.Tables[0].Rows[i]["字段名2"].ToString());
charu(str1,Z1); //在这里嵌套插入函数
}
catch(SQL Exception e)
{
MessageBox.Show(e.ToString());
}
finnaly
{
cnn.Close();
}
}
}这个办法是堆栈办法,ADO最简单的方法,也相对比较快一点,用Session就是表对表插入,比这个更浪费时间,
全部回答
- 1楼网友:煞尾
- 2021-02-28 23:46
用try catch来!! 并且在里面判断!
在catch里面声明个exception 这是所以异常类的父类!在里面用if来判断!! 我把所有的异常类都帮你列出来!希望能够帮助你解决以后此类的问题!
systemexception这个类提供系统异常和应用程序之间的区别!
augumentexception 这是当方法提供的任意一个参数无效时,引发次异常!
arithmeticexception 此异常类是表示算术运算导致的错误!
dataexception 这是如果在实用ado.net组件时生成错误。
formatexception 当参数格式不符合被调用方法的参数规范时引发的异常。
ioexception 当出现i/o时引发的异常
indexoutofrangeexception 让试图使用数组便捷外的索引来访问数组的元素时引发的异常
argumentnullexception 在将空引用传递给无效参数的方法时引发的异常
dividebyexception 当试图用某个数除以零时引发的异常
overflowexception 当算术运算的结果过大而无法油目标类型表示时引发的异常
applicationexception 在应用程序执行过程中检测到由应用程序定义的异常
targetexception 当试图调用无效目标时,引发此异常!
就是你把正确的代码放到try块里面! 然后在catch后面声明个变量接受! 语法:catch(exception e) 再在catch块里面做判断就ok了,e.message就是显示上面的那些类型! 然后做个判断!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯