数据库是oracle,我是根据条件(patient_id )查询的,如: select * from gztb1000 where patient_id = ‘123456’。
问题来了:因为 gztb1000 这个是我创建的视图,根据条件查询这个视图就报错。
如果 gztb1000 是这张表,查询就不报错… 怎么实现查询该视图就不报错呢?
报错内容为:“System.Data.OracleClient.OracleException”类型的未经处理的异常出现在 System.Data.OracleClient.dll 中。
其他信息: ORA-00997: illegal use of LONG datatype
断点在: DataSet ds = new DataSet();
OracleDataAdapter sda = new OracleDataAdapter();
sda.SelectCommand = cmd;
sda.Fill(ds, “stu”);
代码如下:
//数据库查询数据函数
private void button4_Click(object sender, EventArgs e)
{
//连接数据库同上
string strcon = “Data Source=10.10.140.60/ABC;Persist Security Info=True;User ID=users;Password=users;Unicode=True”;
OracleConnection con = new OracleConnection(strcon);
con.Open();
//文本框的值作为删除条件
string strXueHao = textBox5.Text;
//查询功能SQL语句
string strSQL = “select * from gztb1000 where patient_id= '” + strXueHao + “’”;
//执行查询操作
OracleCommand cmd = new OracleCommand(strSQL, con);
//返回查询结果
DataSet ds = new DataSet();
OracleDataAdapter sda = new OracleDataAdapter();
sda.SelectCommand = cmd;
sda.Fill(ds, “stu”);
//将查询结果数据绑定到dataGridView控件中
dataGridView1.DataSource = ds.Tables[0];
cmd.ExecuteNonQuery();
}
}
}