insert里面的数据是从页面得来的。谁能告诉我在asp.net(c#)中如何调用这个存储过程?CREATE OR REPLACE TYPE test_record_type IS OBJECT(
  testid VARCHAR2(40),
  testname VARCHAR2(10),
  testphone VARCHAR2(11)
);CREATE OR REPLACE TYPE test_table_type IS TABLE OF test_record_type;CREATE OR REPLACE PROCEDURE insert_test_proc(info_list IN test_table_type,
  out_message OUT VARCHAR2) IS
BEGIN
  FOR i IN 1.. info_list.count LOOP
  INSERT INTO test(testID,testname,testphone)
  VALUES (info_list(i).testid,info_list(i).testname,info_list(i).testphone);
    
  IF MOD(i,500) = 0 THEN
  COMMIT;
  END IF;
  END LOOP;
    
  COMMIT;
    
EXCEPTION
  WHEN OTHERS THEN
  out_message := 'ERROR!';
  ROLLBACK;
END;

解决方案 »

  1.   


    /// <summary>
            /// 执行存储过程
            /// </summary>
            /// <param name="storedProcName">存储过程名</param>
            /// <param name="parameters">存储过程参数</param>
            /// <returns>DataSet</returns>
            public static DataSet RunProcedureDataSet(string storedProcName, IDataParameter[] parameters)
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    DataSet dataSet = new DataSet();
                    connection.Open();
                    SqlDataAdapter sqlDA = new SqlDataAdapter();
                    sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
                    sqlDA.Fill(dataSet);
                    connection.Close();
                    return dataSet;
                }
            }