SQL语句应该是没问题的,我show出来了,在PLSQL下能正常用的。每次运行到
 OracleDataAdapter oraAdpt = new OracleDataAdapter(str, oraconn);                
                oraAdpt.Fill(ds);
或者
OracleCommand addCmd = new OracleCommand(str, conn);
                addCmd.ExecuteNonQuery();
就Exception了 提示是 无效的字符下面是源代码大家看看public DataSet newQuey(String name, String age)
        {
            String str = "select id,name,age from inf ";
            if (name != "")
            {
                str = str + "where name='" + name + "' ";
                if (age != "")
                {
                    str = str + "and age='" + age + "' ";
                }
            }
            else
            {
                if (age != "")
                {
                    str = str + "where age='" + age + "' ";
                }
            }
            str += ";";
            AccessMySQL accMySql = new AccessMySQL();
            DataSet ds = accMySql.oraQuery(str);
            return ds;
        }
        public Boolean newAdd(String name, String age)
        {
            String str = "insert into inf values(sqid.nextval,'" + name + "','" + age + "');";
            AccessMySQL accMySql = new AccessMySQL();
            Boolean bl = accMySql.otherMethod(str);
            if (bl)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
一下是关于数据库那部分的 public OracleConnection getOraConnection()
        {
            String connstr = "Data Source=csharp;user=system;password=1;";
            OracleConnection oraconn = new OracleConnection(connstr);
            return oraconn;
        }        public DataSet oraQuery(String str) 
        {
            
            DataSet ds = new DataSet();
            OracleConnection oraconn = this.getOraConnection();
            MessageBox.Show(str);
            try
            {
                oraconn.Open();
                OracleDataAdapter oraAdpt = new OracleDataAdapter(str, oraconn);                
                oraAdpt.Fill(ds);            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return ds;
            }
            finally {
                oraconn.Close();
            }
            return ds;
        }        public Boolean otherMethod(String str)
        {
            OracleConnection conn = this.getOraConnection();
            MessageBox.Show(str);
            try
            {
                conn.Open();
                OracleCommand addCmd = new OracleCommand(str, conn);
                addCmd.ExecuteNonQuery();
                return true;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return false;
            }
            finally
            {
                conn.Close();
            }
        }