一个char数据类型到datetime数据类型的转换导致范围外的datetime值 [英] The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value

查看:167
本文介绍了一个char数据类型到datetime数据类型的转换导致范围外的datetime值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个WPF应用程序。 日期是我的表和它的两列 employeename VARCHAR(10))和日期日期时间

I have a WPF application. date is my table and its two columns are employeename (varchar(10)) and date (datetime)

我的代码是:

Sqlconncetion con = new Sqlconnection("my database connection ");    
SqlCommand cmd = new SqlCommand("insert into date values('"+textBox1.Text+"','"+datePicker1.Text+"')", con);    
con.Open();               
int n = cmd.ExecuteNonQuery();                
if (n > 0)
{
    MessageBox.Show("insert");
}



其实我的WPF 日期选择器格式输入,DD / MM / YYYY 和SQL Server表接受的日期格式 MM / DD / YYYY 。我怎样才能改变我的SQL Server 日期时间数据类型的日期格式?请给在C#代码所解决。

Actually my WPF datepicker formats inputs as "dd/mm/yyyy" and SQL Server table accept date format mm/dd/yyyy. How can I change my SQL Server datetime datatype date format? please give solution by code in c#..

我的任务是显示所有的姓名和出生日期。我的条件是基本的,但在日期选择和按钮输入的时候,我得到异常。我的代码是

My task is to display all name and birth date. My condition is basic but at time of date selection and button enter, I get exception. My code is

SqlConnection con = new SqlConnection("my connection ");

SqlDataAdapter da = new SqlDataAdapter("select name,date from date where date between'"+ Convert.ToDateTime( datePicker2.SelectedDate)+"' and  '"+ Convert.ToDateTime( datePicker3.SelectedDate)+"'",con);

DataSet ds = new DataSet();

da.Fill(ds, "entry");

da.Dispose();

dataGrid1.DataContext = ds.Tables["entry"].DefaultView; 



plz帮助我解决代码错误,并写出正确的代码。这是一个WPF应用程序。

plz help me solve code error and write correct code . this is a WPF application.

推荐答案

使用的 SqlParameters 您的值传递给数据库。它给你键入安全,性能,并防止SQL注入攻击。还可以使用使用语句来保证数据库连接将被关闭:

Use SqlParameters to pass your values to database. It gives you type safety, performance, and prevents SQL injection. Also use using statement to guarantee database connection will be closed:

var cmdText = "INSERT INTO date VALUES(@name, @date)";

using(var con = new SqlConnection(conString))
using(var cmd = new SqlCommand(cmdText, con)) {
     cmd.Parameters.Add("@name", textBox1.Text);
     cmd.Parameters.Add("@date", datePicker1.SelectedDate);
     con.Open();
     int n = cmd.ExecuteNonQuery();
     //...
}

这篇关于一个char数据类型到datetime数据类型的转换导致范围外的datetime值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆