Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将日期时间组合框值插入数据库_C#_Datetime_Exception_Ado.net_Insertion - Fatal编程技术网

C# 将日期时间组合框值插入数据库

C# 将日期时间组合框值插入数据库,c#,datetime,exception,ado.net,insertion,C#,Datetime,Exception,Ado.net,Insertion,我在一个windows窗体项目中使用c#和ado。我得到并抛出异常,说无法将日期和/或时间从字符转换为字符串,我将数据库中的数据类型指定为时间(7),日期指定为日期…我需要做些额外的事情吗???这是未处理sql异常标签下的meesage“从字符串转换日期和/或时间时转换失败”。使用代替,并创建一个参数化查询,该查询接受此日期时间值而不是文本字符串,例如: string c = ""; string s = ""; string d = ""; s

我在一个windows窗体项目中使用c#和ado。我得到并抛出异常,说无法将日期和/或时间从字符转换为字符串,我将数据库中的数据类型指定为时间(7),日期指定为日期…我需要做些额外的事情吗???这是未处理sql异常标签下的meesage“从字符串转换日期和/或时间时转换失败”。

使用代替,并创建一个参数化查询,该查询接受此
日期时间值而不是文本字符串,例如:

 string c = "";
        string s = "";
        string d = "";
        string t = "";
        if (CarNameCombo.SelectedIndex >= 0 && SourceCombo.SelectedIndex >= 0 && DestinationCombo.SelectedIndex >= 0 && NumberOfPassengers.SelectedIndex >= 0)
        c = CarNameCombo.Items[CarNameCombo.SelectedIndex].ToString();
        s = SourceCombo.Items[SourceCombo.SelectedIndex].ToString();
        d = SourceCombo.Items[DestinationCombo.SelectedIndex].ToString();
        t = NumberOfPassengers.Items[NumberOfPassengers.SelectedIndex].ToString();
        MessageBox.Show(""+c+s+d+t);
        string date = dateTimePicker1.Text;
        string date1 = dateTimePicker2.Text;
        string x = richTextBox1.Text;
        string y = richTextBox2.Text;
        MessageBox.Show("" +date +date1);
        SqlConnection conn = new SqlConnection("Data Source=PRAVEEN\\SQLEXPRESS;Initial Catalog=travelbooking;Integrated Security=True");
        SqlCommand cmd = new SqlCommand("insert into BookDetails(CarName,Source,Destination,Date,FromAddress,ToAddress,Time,Numberpassengers)VALUES('" + c + "','" + s + "','" + d + "','" + date + "','" + x + "','" + y + "' '"+ date1 + "','" + t + "'", conn)");
        cmd.CommandType = CommandType.Text;
        cmd.Connection = conn;
        //cmd.Parameters.AddWithValue("@CarName", c);
        //cmd.Parameters.AddWithValue("@Source", s);
        //cmd.Parameters.AddWithValue("@Destination", d);
        //cmd.Parameters.AddWithValue("@Date", date);
        //cmd.Parameters.AddWithValue("@FromAddress", richTextBox1.Text);
        //cmd.Parameters.AddWithValue("@ToAddress", richTextBox2.Text);
        //cmd.Parameters.AddWithValue("@Time", date1);
        //cmd.Parameters.AddWithValue("@Numberpassengers", t);
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();
    }
原始代码失败,因为您传递的日期格式为任意格式,而不是实际的日期值。SQL Server尝试使用与最终用户的区域设置不匹配的列排序规则解释此字符串

找到这个

    DateTime date = dateTimePicker1.Value;
    DateTime date1 = dateTimePicker2.Value;
    ...
    SqlCommand cmd = new SqlCommand(
 "insert into BookDetails(CarName,Source,Destination,Date,FromAddress,ToAddress,Time,Numberpassengers) " +
" VALUES(@CarName,@Source,@Destination,@Date,@FromAddress,@ToAddress, " +
       " @Time,@NumPassengers)", conn)");
    cmd.CommandType = CommandType.Text;
    cmd.Connection = conn;
    cmd.Parameters.AddWithValue("@CarName", c);
    cmd.Parameters.AddWithValue("@Source", s);
    cmd.Parameters.AddWithValue("@Destination", d);
    cmd.Parameters.AddWithValue("@Date", date);
    cmd.Parameters.AddWithValue("@FromAddress", richTextBox1.Text);
    cmd.Parameters.AddWithValue("@ToAddress", richTextBox2.Text);
    cmd.Parameters.AddWithValue("@Time", date1);
    cmd.Parameters.AddWithValue("@Numberpassengers", t);

你应该发布你收到的全部错误信息。还要将您正在使用的平台添加到标签列表中,否则有知识的人将看不到这个问题。
namespace First_Csharp_app
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        String gender; //we have to define this
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection(str);
            String str = "server=MUNESH-PC;database=windowapp;UID=sa;password=123";
            String query = "insert into data (E.id,name,surname,age,gender,DOB) values ('"+this.eid_txt.text+"','"+this.nametxt.text+"','"+this.surname_txt.text+"','"+this.age_txt.text+"' , '"+this.gender+"' , '"+this.DateTimePicker1.Text+"')";
            SqlCommand cmd = new sqComamnd(query,con);
            SqlDataReader dbr;
            try
            {
                con.open();
                dbr = cmd.ExecuteReader();
                MessageBox.Show("saved");
                while(dbr.read())
                {
                }
            }
            catch (Exception es)
            {
                MessageBox.Show(es.Message);
            }
        }
        private void rediobutton1.checked(object sender, EventArgs e)
        {
            gender = "male";
        }
        private void rediobutton1.checked(object sender, EventArgs e)
        {
            gender = "female";
        }
    }
}