注:OracleConnection和OracleCommand已被標注為[棄用的],可以使用System.Data.OleDb.OleDbConnection代替OracleCOnnection,使用System.Data.OleDb.OleDbCommand代替OracleCommand,並在連接字符串中的ConnectionString屬性里增加"Provider=OraOLEDB.Oracle;"。
首先是在Oracle數據庫中創建表:
Create Table Student( S_ID VARCHAR2(40) default sys_guid() primary key, STUDENT_ID CHAR(12), STUDENT_Name VARCHAR2(20), STUDENT_AGE VARCHAR2(10), STUDENT_SEX VARCHAR2(10) )
接着在配置文件中加入Oracle連接字符串:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings>
<!--使用OleDbConnection時用該連接字符串-->
<!--<add name="DeviceDBConnection" connectionString="Provider=OraOLEDB.Oracle;User ID=JPVDS;Password=JPVDS_2015;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=16.130.2.14)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=myorcl)))"
providerName="System.Data.OracleClient"/>--> <add name="DefaultDBConnection" connectionString="User ID=JPVDS;Password=JPVDS_2015;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=16.130.2.14)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=myorcl)))" providerName="System.Data.OracleClient"/> </connectionStrings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> </startup> </configuration>
然后是讀取配置文件,連接數據庫,進行增刪改查操作,本人比較懶,直接貼代碼了。
public class Program { //讀取數據庫連接字符串 string OracleStr = ConfigurationManager.ConnectionStrings["DefaultDBConnection"].ToString(); OracleConnection conn; /// <summary> /// 連接數據庫 /// </summary> /// <param name="oracleStr">數據庫連接字符串</param> /// <returns></returns> public OracleConnection ConnectionDB(string oracleStr) { OracleConnection conn = null; try { conn = new OracleConnection(OracleStr); //打開數據庫 conn.Open(); } catch (Exception ex) { } return conn; } /// <summary> /// 插入操作 /// </summary> /// <param name="student">需要插入的對象</param> public void Insert(Student student) { string insertSqlStr = "insert into Student(Student_Id, Student_Name, Student_Age, Student_Sex)values(:Student_Id,:Student_Name,:Student_Age,:Student_Sex)"; try { OracleCommand cmd = new OracleCommand(insertSqlStr, conn); cmd.Parameters.AddWithValue("Student_Id", student.student_Id); cmd.Parameters.AddWithValue("Student_Name", student.student_Name); cmd.Parameters.AddWithValue("Student_Age", student.student_Age); cmd.Parameters.AddWithValue("Student_Sex", student.student_Sex); cmd.ExecuteNonQuery(); Console.WriteLine(string.Format("添加{0}成功!", student.student_Name)); } catch(Exception ex) { Console.WriteLine(string.Format("添加{0}失敗!", student.student_Name)); } } /// <summary> /// 查詢操作,查詢全部內容 /// </summary> /// <returns>返回學生列表</returns> public List<Student> Query() { string querySqlStr = "select * from student"; List<Student> studentList = new List<Student>(); try { OracleCommand cmd = new OracleCommand(querySqlStr, conn); using (var dr = cmd.ExecuteReader()) { while (dr.Read()) { Student student = new Student(dr.GetValue(1).ToString(), dr.GetValue(2).ToString(), dr.GetValue(3).ToString(), dr.GetValue(4).ToString()); studentList.Add(student); } } } catch (Exception ex) { } return studentList; } /// <summary> /// 操作 /// </summary> public void operation() { conn = ConnectionDB(OracleStr); Student student1 = new Student("130202031004", "123", "22", "男"); Student student2 = new Student("130202031020", "香蕉", "24", "男"); Insert(student1); Insert(student2); List<Student> studentList = Query(); foreach(var student in studentList) { Console.WriteLine("~~~~~~~~~~~~~~~~"); Console.WriteLine(string.Format("學號:{0}",student.student_Id)); Console.WriteLine(string.Format("姓名:{0}",student.student_Name)); Console.WriteLine(string.Format("年齡:{0}",student.student_Age)); Console.WriteLine(string.Format("性別:{0}",student.student_Sex)); } conn.Close(); } static void Main(string[] args) { Program program = new Program(); program.operation(); } }
Student學生類
/// <summary> /// 學生類 /// </summary> public class Student { /// <summary> /// ID /// </summary> public string id { get; set; } /// <summary> /// 學生學號 /// </summary> public string student_Id { get; set; } /// <summary> /// 學生姓名 /// </summary> public string student_Name { get; set; } /// <summary> /// 學生年齡 /// </summary> public string student_Age { get; set; } /// <summary> /// 學生性別 /// </summary> public string student_Sex { get; set; } public Student() { } public Student(string s_Id,string s_Name,string s_Age,string s_Sex) { this.student_Id = s_Id; this.student_Name = s_Name; this.student_Age = s_Age; this.student_Sex = s_Sex; } }