如何把STRING转换成DATETIME,并且传到后台SQL与此类型相匹配
c#中的变量都是字符型,现在我需要把相应的变量转换成日期型,
c#中的代码:string InsertSQL="AddReaderInfo "+"'"+txtReaderID.Text+"',"+"'"+txtReaderName.Text+"',"+"'"+rbSex+"',"+"'"+txtYear.Text+"',"+"'"+cmbUnit.Text+"',"+"'"+cmbdzlx.Text+"',"+"'"+cmbzjmc.Text+"',"+"'"+cmbbzrq.Text+"',"+"'"+cmbdzrq.Text+"'";
sql中的存储过程:
CREATE PROCEDURE [dbo].[AddReaderInfo]
@ReaderID char (10),@ReaderName char (8),@Birthday datetime,@Sex char (2),@Department char (20),@Dzlx char (2),@Zjmc char (10),@Bzrq datetime,@Dzrq datetime
AS
insert into 读者(读者条码,姓名,性别,出生日期,读者单位,读者类型,证件名称,办证日期,到证日期)
values(@ReaderID, @ReaderName, @Sex, @Birthday, @Department,@Dzlx,@Zjmc,@Bzrq,@Dzrq)
GO
请问:
现在我要把txtYear.Text(出生日期),cmbbzrq.Text(办证日期),cmbdzrq.Text(到证日期) 转换成日期型
问题点数:0、回复次数:7Top
1 楼yanransoft()回复于 2004-12-03 21:05:26 得分 0
string s = textBox1.Text;//textBox1.Text="2004/11/11"
string[] parts = s.Split(new char[] { '/' });
DateTime dt = new DateTime(int.Parse(parts[0]), int.Parse(parts[1]), int.Parse(parts[2]));
Top
2 楼huleeyar(虚拟过客)回复于 2004-12-03 21:08:57 得分 0
(DateTime)sTop
3 楼jonescheng(小块头无大智慧)回复于 2004-12-03 21:11:16 得分 0
你要保证你的string变量是日期比如象2004-10-1之类的字符串才行
然后你可以直接使用DateTime.Parse就可以了。Top
4 楼FlashElf(銘龘鶽)回复于 2004-12-04 19:44:47 得分 0
哥们这么用多.....
你用Command连在数据库上选你的存储过程多好啊。
会自动生成参数
然后再对参数复数据多安全啊,如果你的文本框有 ' 什么的符号怎么办。
myCommand.CommandTimeout = 15;
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.CommandText="[AddReaderInfo]";
//把你的参数都搞进去(我没写全)
myCommand.Parameters.Add("@ReaderID",SqlDbType.Char);
//.....
myCommand.Parameters.Add("@Bzrq ",SqlDbType.DateTime);
//.....
//最后(省略了点)
myCommand.Parameters["@Bzrq"].Value= DateTime.Parse(cmbbzrq.Text);
//.....
myCommand.ExecuteNonQuery();Top
5 楼FlashElf(銘龘鶽)回复于 2004-12-04 19:46:59 得分 0
日期转换如果不是系统默然格式
如你的文本框内是
19900706 这样的
DateTime.ParseExact(cmbbzrq.Text,"yyyyMMdd",null);Top
6 楼nga96(因为我笨,所以努力。陈勇华)回复于 2004-12-04 19:53:21 得分 0
是的,楼上的都说啦,谢谢Top
7 楼lhl_8100(孤鸿)回复于 2004-12-06 12:56:37 得分 0
谢谢各位了。我已经解决了这个问题。是我考虑得太多,其实在C#不用转换的,后台SQL是自动处理这两种类型的转换。另外,我添加了一个DTP控件。具体的代码如下:
<C#代码>
string InsertSQL="AddReaderInfo "+"'"+txtReaderID.Text+"',"+"'"+txtReaderName.Text+"',"+"'"+cmbSex.Text+"',"+"'"+dtpBirth.Value+"',"+"'"+cmbUnit.Text+"',"+"'"+cmbdzlx.Text+"',"+"'"+cmbzjmc.Text+"',"+"'"+dtpbzrq.Value+"',"+"'"+dtpdzrq.Value+"'";
<SQL的存储过程>
CREATE PROCEDURE [dbo].[AddReaderInfo]
@ReaderID char (10),@ReaderName char (8),@Sex char (2),@Birthday datetime,@Department char (20) ,
@Dzlx char (2),@Zjmc char (10),@Bzrq datetime,@Dzrq datetime
AS
insert into 读者(读者条码,姓名,性别,出生日期,读者单位,读者类型,证件名称,办证日期,到证日期)
values(@ReaderID, @ReaderName, @Sex,@Birthday, @Department,@Dzlx,@Zjmc,@Bzrq,@Dzrq)
Top




