c#: winform窗体,textbox文本框里该怎么填DateTime类型的数据?

数据库已经连上,表Friends里的列Birthday的类型是datetime程序运行后我在textbox里输入1999-8-7,2004-06-1511:12:13.0... 数据库已经连上,表Friends里的 列Birthday 的类型是 datetime
程序运行后我在textbox里输入 1999-8-7,
2004-06-15 11:12:13.00000
1898/7/9
之类的都报错,说是 Birthday 列名无效。
是不是要先进行转换,怎么转?

代码:
string str = String.Format("insert into Friends(Birthday) values('{0}')", textBox1.Text);
SqlCommand cmd = new SqlCommand(str,sqlcon );
cmd.ExecuteNonQuery();
展开
 我来答
端丽芳表晔
2019-08-28 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:812万
展开全部
windows能够显示的换行必须由两个字符组成:carriage
return
&
line
feed,也就是必须是"\r\n"。所以如果把"\n"替换成"\r\n"就可以了。
this.textboxdescription.text = "操作说明\r\nesc\t最小化\r\nalt+f4\t退出\r\nshift+f6\t设置访问地址";显示的结果为:
esc 最小化
alt+f4 退出
shift+f6 设置访问地址
阳光的雷咩咩
推荐于2016-09-23 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7805万
展开全部

拼接sql语句的方法,试试改成如下

string str = String.Format("insert into Friends(Birthday) values('{0}')",Convert.ToDateTime(textBox1.Text).ToString());

另外对于非字符串类型的值,最好改用参数化查询,网上查查。

更多追问追答
追问
2004-06-15 11:12:13
1898/7/9 11:12:13.00

老是报错:【将截断字符串或二进制数据. 语句已终止】
追答
我现在很怀疑你数据库里的Birthday字段是否真正的日期字段,你先在数据库里直接执行sql语句看什么样的日期可以被执行,然后再来看怎么写C#。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
二牛资讯
2014-11-28 · TA获得超过736个赞
知道小有建树答主
回答量:631
采纳率:50%
帮助的人:567万
展开全部
如果你的数据库报错是“Birthday 列名无效”,那么问题在与“Birthday”列写错了或者字段不存在,如果你的数据库报错是“将截断字符串或二进制数据. 语句已终止”,说明你的字段的数据类型是字符型(char,varchar,nchar,nvarchar),检查数据库中表的结构!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-11-28
展开全部
怎么还是这个问题呢,你还没有解决吗?
追问
这个是先问的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式