CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

如何把STRING转换成DATETIME,并且传到后台SQL与此类型相匹配

楼主lhl_8100(孤鸿)2004-12-03 20:49:47 在 .NET技术 / C# 提问

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

相关问题

  • 如何连接后台Sql server7?
  • sql server后台数据库问题
  • c/s模式,后台是sql server
  • COleDateTime and datetime in VC - SQL SERVER
  • 删除的SQL语句怎么写?在后台是SQL SERVER2000为后台数据库的表里.
  • 后台sql server数据库创建问题
  • 谁有SQL后台,VB前台的典型管理程序?
  • 怎么让SQL脚本在后台执行
  • vb不用ODBC,能否使用sql server作后台数据库?
  • bcb使用ADO连接后台SQL SERVER速度快么?

关键词

  • c#
  • 转换
  • sql
  • bzrq
  • addreaderinfo
  • cmbbzrq
  • dzlx
  • dzrq
  • readername
  • zjmc

得分解答快速导航

  • 帖主:lhl_8100

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo