OracleSqlHelpr编写

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Web;
  5 
  6 using System.Configuration;
  7 using System.Data;
  8 using System.Data.OracleClient;//需要手动导入Bin
  9 
 10 /// <summary>
 11 ///DBHelper 的摘要说明
 12 /// </summary>
 13 public class DBHelper
 14 {
 15     string conStr = "";
 16 
 17     public DBHelper()
 18     {
 19         conStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
 20         //需要配置web.config文件 connectionStrings
 21         //ConfigurationManager.AppSettings["password"];获取当前应用程序默认配置的AppSettingsSection数据。
 22 
 23         //客户端和数据库不在同一台机器,可以使用下面的连接方式 
 24         //using System.Data.OleDb; 
 25         //HOST是Oracle数据库服务器地址,PORT是Oracle数据库端口,SERVICE_NAME是数据库名称 
 26         //string connStr = "Provider=OraOLEDB.Oracle.1;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)));User ID=message;Password=message;"; 
 27         //OleDbConnection conn = new OleDbConnection(connStr); 
 28     }
 29 
 30     #region 数据库操作
 31     public object ExcuteScalar(string sql)
 32     {
 33         object obj = null;
 34         //创建一个数据库连接
 35         OracleConnection conn = new OracleConnection(conStr);
 36         //打开数据库
 37         conn.Open();
 38         //创建数据库命令
 39         OracleCommand cmd = new OracleCommand(sql, conn);
 40         //执行数据库操作
 41         obj = cmd.ExecuteScalar();
 42         //关闭连接
 43         conn.Close();
 44         //销毁连接
 45         conn.Dispose();
 46 
 47         return obj;
 48     }
 49 
 50     public int ExecuteNonQuery(string sql)
 51     {
 52         int result = 0;
 53         OracleConnection conn = new OracleConnection(conStr);
 54         conn.Open();
 55 
 56         OracleCommand cmd = new OracleCommand(sql, conn);
 57         result = cmd.ExecuteNonQuery();
 58 
 59         conn.Close();
 60         conn.Dispose();
 61 
 62         return result;
 63     }
 64 
 65     public DataTable ExecuteDataTable(string sql)
 66     {
 67         DataTable result = new DataTable();
 68         OracleConnection conn = new OracleConnection(conStr);
 69         conn.Open();
 70 
 71         OracleCommand cmd = new OracleCommand(sql, conn);
 72         OracleDataAdapter oda = new OracleDataAdapter(cmd);
 73         oda.Fill(result);
 74 
 75         conn.Close();
 76         conn.Dispose();
 77 
 78         return result;
 79     }
 80 
 81     public DataSet ExecuteDataSet(string sql)
 82     {
 83         DataSet result = new DataSet();
 84 
 85         OracleConnection conn = new OracleConnection(conStr);
 86         conn.Open();
 87 
 88         OracleCommand cmd = new OracleCommand(sql, conn);
 89         OracleDataAdapter oda = new OracleDataAdapter(cmd);
 90         oda.Fill(result);
 91 
 92         conn.Close();
 93         conn.Dispose();
 94 
 95         return result;
 96 
 97     }
 98 
 99     public List<WJ> GetWJs(string sql)
100     {
101         List<WJ> wjs = new List<WJ>();
102         OracleDataReader result = null;
103 
104         OracleConnection conn = new OracleConnection(conStr);
105         conn.Open();
106         OracleCommand cmd = new OracleCommand(sql, conn);
107         //从数据库中读取数据流存入result中
108         result = cmd.ExecuteReader();
109 
110         while (result.Read())
111         {
112             WJ wj = new WJ();
113 
114             //result.GetOrdinal("id")是得到ID所在列的index, 
115             //result.GetInt32(int n)这是将第n列的数据以Int32的格式返回 
116             //result.GetString(int n)这是将第n列的数据以string 格式返回
117             //result.GetDateTime(int n)这是将第n列的数据以string 格式返回
118 
119             //判断数据是否为空
120             //objId != DBNull.Value判断对象是否为空
121             //!Convert.IsDBNull(objScsj)判断DateTime是否为空
122             //对象.IsNull("字段")
123             //对象.ToString() == ""
124             var objId = result.GetValue(result.GetOrdinal("id"));
125             if (objId != DBNull.Value)
126             {
127                 wj.id = objId.ToString();
128             }
129             var objWjname = result.GetValue(result.GetOrdinal("wjname"));
130             if (objWjname != DBNull.Value)
131             {
132                 wj.wjname = objWjname.ToString();
133             }
134             var objWjjid = result.GetValue(result.GetOrdinal("wjjid"));
135             if (objWjjid != DBNull.Value)
136             {
137                 wj.wjjid = objWjjid.ToString();
138             }
139             var objSize = result.GetValue(result.GetOrdinal("size"));
140             if (objSize != DBNull.Value)
141             {
142                 wj.size = objSize.ToString();
143             }
144             var objRoute = result.GetValue(result.GetOrdinal("route"));
145             if (objRoute != DBNull.Value)
146             {
147                 wj.route = objRoute.ToString();
148             }
149             var objScsj = result.GetDateTime(result.GetOrdinal("scsj"));
150             if (!Convert.IsDBNull(objScsj))
151             {
152                 wj.scsj = objScsj.ToString("yyyy-MM-dd HH:mm:ss");
153             }
154 
155             //格式化输出数据
156             //Console.Write("ID:{0},Name:{1},PWD:{2},Age:{3},Sex:{4},Phone{5},Address:{6}\n", id, name, pwd, age, sex, phone, address);
157             wjs.Add(wj);
158         }
159 
160         conn.Close();
161         conn.Dispose();
162         return wjs;
163     }
164     #endregion
165 }

  

1、问题在数据库中有一条数据类型是DateTime,C#中该数据是string类型的。

  解决方案:在从数据库接收该数据时,将它转换为DateTime的,再用 .ToString(" 格式 ")这个方法将该数据转换为带格式的String数据

posted @ 2017-09-12 16:32  hj0612  阅读(250)  评论(0编辑  收藏  举报