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} ", 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数据