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(); 展开
程序运行后我在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(); 展开
4个回答
展开全部
拼接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#。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你的数据库报错是“Birthday 列名无效”,那么问题在与“Birthday”列写错了或者字段不存在,如果你的数据库报错是“将截断字符串或二进制数据. 语句已终止”,说明你的字段的数据类型是字符型(char,varchar,nchar,nvarchar),检查数据库中表的结构!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-28
展开全部
怎么还是这个问题呢,你还没有解决吗?
追问
这个是先问的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询