如何向access表中的日期列插入日期数据 (C#实现)

最近在完善 学生宿舍管理系统 中 水电费统计模块的功能时候,涉及到了水电费数据登记日期的记录问题,运行环境是(Win2000+VS2003+Access2000),就此我专做了一个Demo,研究了此问题.

下面的代码向我们演示了如何把一个日期(date)转化成数据库所能识别接受的数据.
捕捉.jpg
  1using System;
  2using System.Drawing;
  3using System.Collections;
  4using System.ComponentModel;
  5using System.Windows.Forms;
  6using System.Data;
  7using System.Data .OleDb ;
  8using System.Globalization ;
  9
 10namespace SDMS
 11{
 12    /// 
 13    /// Form1 的摘要说明。
 14    /// 

 15    public class Form1 : System.Windows.Forms.Form
 16    {
 17        private System.Windows.Forms.Button btnOK;
 18        private System.Windows.Forms.Button btnCancel;
 19        private System.Windows.Forms.Label labID;
 20        private System.Windows.Forms.Label labDate;
 21        private System.Windows.Forms.TextBox txtID;
 22        private System.Windows.Forms.TextBox txtDate;
 23        /// 
 24        /// 必需的设计器变量。
 25        /// 

 26        private System.ComponentModel.Container components = null;
 27
 28        public Form1()
 29        {
 30            //
 31            // Windows 窗体设计器支持所必需的
 32            //
 33            InitializeComponent();
 34
 35            //
 36            // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
 37            //
 38        }

 39
 40        /// 
 41        /// 清理所有正在使用的资源。
 42        /// 

 43        protected override void Dispose( bool disposing )
 44        {
 45            if( disposing )
 46            {
 47                if (components != null
 48                {
 49                    components.Dispose();
 50                }

 51            }

 52            base.Dispose( disposing );
 53        }

 54
 55        Windows 窗体设计器生成的代码
130
131        /// 
132        /// 应用程序的主入口点。
133        /// 

134        [STAThread]
135        static void Main() 
136        {
137            Application.Run(new Form1());
138        }

139
140        private void btnOK_Click(object sender, System.EventArgs e)
141        {
142             string  str=System.Configuration .ConfigurationSettings .AppSettings ["OleDbConString"];
143             OleDbConnection con=new OleDbConnection (str);
144            try
145            {
146                
147                con.Open ();
148                string strInsert = "INSERT INTO DemoTable (ID, DateData) VALUES ( ";
149                
150                if((txtID.Text ==string.Empty )||(txtDate.Text ==string.Empty ))
151                {
152                    MessageBox.Show ("所需数据不能为空");
153                    return;
154                }

155                System.DateTime dt = DateTime.Parse(txtDate.Text,System.Globalization.CultureInfo.CreateSpecificCulture("zh-CN").DateTimeFormat);
156                
157
158                //转化返回文本框,方便显示
159                int i=int.Parse(txtID.Text);
160                string sNow = "";
161                sNow = dt.ToShortDateString();
162                txtID.Text=i.ToString();
163                txtDate.Text = '#'+sNow+'#';
164            
165                strInsert += txtID.Text+"";
166                strInsert += "CDate("+txtDate.Text+')'+")";
167                OleDbCommand cmd=new OleDbCommand (strInsert,con);
168                cmd.ExecuteNonQuery ();
169
170                MessageBox.Show ("添加成功");
171            }

172            catch(Exception err)
173            {
174                throw err;
175            }

176            finally
177            {
178
179                con.Close ();
180            }

181        }

182
183        private void btnCancel_Click(object sender, System.EventArgs e)
184        {
185            Application.Exit ();
186        }

187    }

188}

189
ps:其中txtDate也可以用DateTimePicker控件来代替,获取它的Value值既可
posted @ 2005-10-18 13:02  Charleston  阅读(7693)  评论(3编辑  收藏  举报