如何向access表中的日期列插入日期数据 (C#实现)
最近在完善 学生宿舍管理系统 中 水电费统计模块的功能时候,涉及到了水电费数据登记日期的记录问题,运行环境是(Win2000+VS2003+Access2000),就此我专做了一个Demo,研究了此问题.
下面的代码向我们演示了如何把一个日期(date)转化成数据库所能识别接受的数据.
![捕捉.jpg]()
下面的代码向我们演示了如何把一个日期(date)转化成数据库所能识别接受的数据.

1
using System;
2
using System.Drawing;
3
using System.Collections;
4
using System.ComponentModel;
5
using System.Windows.Forms;
6
using System.Data;
7
using System.Data .OleDb ;
8
using System.Globalization ;
9![]()
10
namespace 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值既可
using System;2
using System.Drawing;3
using System.Collections;4
using System.ComponentModel;5
using System.Windows.Forms;6
using System.Data;7
using System.Data .OleDb ;8
using System.Globalization ;9

10
namespace SDMS11
{12
/// 13
/// Form1 的摘要说明。14
/// 15
public class Form1 : System.Windows.Forms.Form16
{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
try145
{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
finally177
{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



浙公网安备 33010602011771号