//数据源
string connString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=***)));Persist Security Info=True;User ID=***;Password=***;";
OracleConnection conn = new OracleConnection(connString);//实例化
conn.Open();
string sql = "select * from table";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleDataAdapter da = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();//定义数据集
da.Fill(ds);
在这里我感觉我走的路比较麻烦了,因为我把查出来的表数据填充到了dataset里面,然后在下面我又使用循环把dataset里的数据取出来放进了datatable里面,在这大家如果有好的方法可以一同交流。
//将datagridview数据转换成datatable
DataTable tabl = new DataTable();
tabl = dataGridView1.DataSource as DataTable;
这个填充写法好像有很大的局限性,但是我使用中没出什么问题。
//循环取出导入Excel的datatable的数据
string CID = tabl.Rows[i]["地址"].ToString();
//把地址进行拆分,例如1-2-1-1,拆分成1,2,1,1
String[] nameStrArray = CID.Split('-');
string sql = "添加语句";
OracleCommand cmd = new OracleCommand(sql, conn);
int kl = cmd.ExecuteNonQuery();
返回受影响的行数kl,我的想法可能不是很正规,因为我也是第一次接触Oracle数据库,大家有什么意见或者对此有不同的想法,欢迎指正。大家共同学习,共同进步。