用C#语言!
    * 数据库版本oracle10  
    * .NET 2003 
    * framework 1.0
    * windows ce;    sql 文如下:
    Insert into tablename(A,B,C) values(?,?,?)    请问如何像JAVA中 preparedStatement 那样给Values里的?号付值

解决方案 »

  1.   

    用string的replace方法一个个替换行不行,不过不如java的智能,呵呵
      

  2.   

    Insert into tablename(A,B,C) values(?,?,?)
    ----
    string sql = Insert into tablename(A,B,C) values('"<$A>"','"<$B>"','"<$C>"');
    sql = sql.Replace("<$A>",参数1.toString);
    sql = sql.Replace("<$B>",参数2.toString);
    sql = sql.Replace("<$C>",参数3.toString);
      

  3.   

    楼上正解!但是不用 Replace 应该是怎样的处理?有没有像JAVA中 preparedStatement 那样的东东呢?
      

  4.   

    SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");
    SqlDataAdapter custDA = new SqlDataAdapter();         
    string selectSQL = "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?";SqlCommand selectCMD = new SqlCommand(selectSQL, nwindConn);
    custDA.SelectCommand = selectCMD;// Add parameters and set values.
    selectCMD.Parameters.Add("@Country", SqlDbType.NVarChar, 15).Value = "UK";
    selectCMD.Parameters.Add("@City", SqlDbType.NVarChar, 15).Value = "London";DataSet custDS = new DataSet();
    custDA.Fill(custDS, "Customers");
      

  5.   

    SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");
    SqlDataAdapter custDA = new SqlDataAdapter();         
    string selectSQL = "SELECT CustomerID, CompanyName FROM Customers WHERE Country = @Country AND City = @City";SqlCommand selectCMD = new SqlCommand(selectSQL, nwindConn);
    custDA.SelectCommand = selectCMD;
    // Add parameters and set values.
    selectCMD.Parameters.Add("@Country", SqlDbType.NVarChar, 15).Value = "UK";
    selectCMD.Parameters.Add("@City", SqlDbType.NVarChar, 15).Value = "London";DataSet custDS = new DataSet();
    custDA.Fill(custDS, "Customers");
    nwindConn.Close();
      

  6.   

    谢谢楼上的朋友,
    有个疑问,我用的是oracle数据库 代码改了些如下
    orconn已经连上!
    OracleDataAdapter custDA = new OracleDataAdapter();         
    string selectSQL = "INSERT INTO XML(XMLCD, XMLNAME,XMLNODE) VALUES(?,?,?)";
    OracleCommand selectCMD = new OracleCommand(selectSQL,orconn);
    custDA.SelectCommand = selectCMD;
    // Add parameters and set values.
    selectCMD.Parameters.Add("@XMLCD", OracleType.NVarChar, 15).Value = "222";
    selectCMD.Parameters.Add("@XMLNAME", OracleType.NVarChar, 15).Value = "London";
    selectCMD.Parameters.Add("@XMLNODE", OracleType.NVarChar, 15).Value = "London";
    orconn.Close();
    执行过去了  但是表中没有新增加的纪录 不知道什么原因呢?