1.我现在的项目,连接数据库的方法已经在webservice中写好了,
?//select * from?表 where rownum < 10
??? [WebMethod(Description = "Oracle数据测试,返回数据集")]
??? public DataSet GetOracleDataSet(string comstr)
??? {
??????? string connstr = "Server=10.77.150.105;Data Source=ORCL;user=gxx;password=gxx;";
??????? OracleConnection myconn = new OracleConnection(connstr);
??????? try // 正常运行
??????? {
??????????? myconn.Open();
??????????? //Console.WriteLine("ServerVersion: " + myconn.ServerVersion
??????????? //+ "nDataSource: " + myconn.DataSource);
??????????? OracleDataAdapter myadapter = new OracleDataAdapter(comstr,myconn);
??????????? myconn.Close();
??????????? DataSet myset = new DataSet();
??????????? myadapter.Fill(myset);//将查询的表填充到数据集(DataSet)
??????????? return myset;
??????? }
??????? catch (OleDbException) // 数据库操作异常处理
??????? {
??????????? if (myconn.State == ConnectionState.Open)
??????????? {
??????????????? // 关闭数据库连接
??????????????? myconn.Close();
??????????? }
??????????? // 返回失败
??????????? return null;
??????? }
??????? catch (Exception ee)// 异常处理
??????? {
??????????? if (myconn.State == ConnectionState.Open)
??????????? {
??????????????? // 关闭数据库连接
??????????????? myconn.Close();
??????????? }
??????????? // 返回失败
??????????? return null;
??????? }
??????? finally // 执行完毕清除在try块中分配的任何资源
??????? {
??????????? if (myconn.State == ConnectionState.Open)
??????????? {
??????????????? // 关闭数据库连接
??????????????? myconn.Close();
??????????? }
??????? }
??? }
???
2.我想获取到的数据select * from 表1 where a=1
这一条数据存入到dataset的DataTable变成数组,我就能直接调用数组,而不需要再写select语句了。
DataTable table1 = WebserviceInstance.GetOracleDataSet("select * from?表1 where A='aa‘).Tables[0];
???????????? parm1 = new string[table1.Columns.Count];
??????????????? for (int i = 0; i < parm1.Length; i++)
????????????? {
?????????????????????
????????????????? parm1[i] = table1.Rows[0][i].ToString();
?????????????????
????????????? }
我这边又将DataTable转换为一个一位数组,对我来说比较方便啦,可能过多此一举了,反正我用的方式比较笨,比较简单,
拿出来大家看看交流交流,哈