我在c#中用oracleclent连接本地的oracle数据库,连接正常.第一次查询也正常,在isql/plus中删除记录后进行第二次查询时仍然是第一次查询的结果.本来怀疑程序问题,可重新启动程序后仍然如此,只有重新启动机器才能更新结果.使用数据库管理器也有这现象,怀疑是否oracle的客户端需要相关配置.由于原来不是使用C#和oracle,现在是刚开始学习,因此无从入手,希望得到各位高手帮助.
private void CreDBLink( )
{
/*
oSQLConn = new SqlConnection();
oSQLConn.ConnectionString = "Data Source=SQLEXPRESS;Initial Catalog= skydb;User Id=skytiger_home;Password=skytiger;";
SqlCommand myCommand = new SqlCommand("select * from httplist",oSQLConn);
oSQLConn.Open();
SqlDataReader dr = myCommand.ExecuteReader();
oSQLConn.Close();
*/
oOracleConn = new OracleConnection();
oOracleConn.ConnectionString = "Data Source=skytiger;User ID=test;Password=test";
oOracleConn.Open();
}
private void DBRead()
{
string Resq = " ";
DataTable ReqDataTab = new DataTable();
oOracleConn = new OracleConnection();
oOracleConn.ConnectionString = "Data Source=skytiger;User ID=test;Password=test";
oOracleConn.Open(); /************* OracleCommand+OracleDataReader的用法 *************/
//OracleCommand Mycmd = new OracleCommand("select * from VBZ$DB_OBJ_NAMES", oOracleConn);
OracleCommand Mycmd = new OracleCommand("SELECT \"sHttp\", \"sHttpName\", \"sHttpContent\" FROM T_HTTP_SEACH", oOracleConn);
Mycmd.CommandType = CommandType.Text;
OracleDataReader dr = Mycmd.ExecuteReader();
while (dr.Read())
{
Resq = Resq + "\r\n" + dr.GetString(0);
Resq = Resq + " " + dr.GetString(1);
Resq = Resq + " " + dr.GetString(2).ToString();
}
textBox1.Text = Resq;
oOracleConn.Close();
/************* OracleDataAdapter+DataTable的用法 *************
OracleDataAdapter oracleAdp = new OracleDataAdapter("select \"sHttp\", \"sHttpName\", \"sHttpContent\" from t_http_seach", oOracleConn);
oracleAdp.Fill(ReqDataTab);
String[] resq = new string[30];
int i = 0;
foreach (DataRow myRow in ReqDataTab.Rows)
{
foreach (DataColumn myCol in ReqDataTab.Columns)
{
//Console.WriteLine(myRow[myCol]);
//textBox1.Text = myRow[myCol].ToString();
resq[i] = resq[i]+"|"+myRow[myCol].ToString();
}
i = i + 1;
}
textBox1.Text = resq[0];
*/
}
private void CreDBLink( )
{
/*
oSQLConn = new SqlConnection();
oSQLConn.ConnectionString = "Data Source=SQLEXPRESS;Initial Catalog= skydb;User Id=skytiger_home;Password=skytiger;";
SqlCommand myCommand = new SqlCommand("select * from httplist",oSQLConn);
oSQLConn.Open();
SqlDataReader dr = myCommand.ExecuteReader();
oSQLConn.Close();
*/
oOracleConn = new OracleConnection();
oOracleConn.ConnectionString = "Data Source=skytiger;User ID=test;Password=test";
oOracleConn.Open();
}
private void DBRead()
{
string Resq = " ";
DataTable ReqDataTab = new DataTable();
oOracleConn = new OracleConnection();
oOracleConn.ConnectionString = "Data Source=skytiger;User ID=test;Password=test";
oOracleConn.Open(); /************* OracleCommand+OracleDataReader的用法 *************/
//OracleCommand Mycmd = new OracleCommand("select * from VBZ$DB_OBJ_NAMES", oOracleConn);
OracleCommand Mycmd = new OracleCommand("SELECT \"sHttp\", \"sHttpName\", \"sHttpContent\" FROM T_HTTP_SEACH", oOracleConn);
Mycmd.CommandType = CommandType.Text;
OracleDataReader dr = Mycmd.ExecuteReader();
while (dr.Read())
{
Resq = Resq + "\r\n" + dr.GetString(0);
Resq = Resq + " " + dr.GetString(1);
Resq = Resq + " " + dr.GetString(2).ToString();
}
textBox1.Text = Resq;
oOracleConn.Close();
/************* OracleDataAdapter+DataTable的用法 *************
OracleDataAdapter oracleAdp = new OracleDataAdapter("select \"sHttp\", \"sHttpName\", \"sHttpContent\" from t_http_seach", oOracleConn);
oracleAdp.Fill(ReqDataTab);
String[] resq = new string[30];
int i = 0;
foreach (DataRow myRow in ReqDataTab.Rows)
{
foreach (DataColumn myCol in ReqDataTab.Columns)
{
//Console.WriteLine(myRow[myCol]);
//textBox1.Text = myRow[myCol].ToString();
resq[i] = resq[i]+"|"+myRow[myCol].ToString();
}
i = i + 1;
}
textBox1.Text = resq[0];
*/
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货