簡體   English   中英

DataTimePicker和Checkbox插入數據庫-錯誤的SQL語法

[英]DataTimePicker and Checkbox insert to database - Error SQL Syntax

我正在C#.NET和MySQL中進行編程。 我的數據庫名為“ projekt1”。 我創建了新表單InsertStatus.cs,其中包含:3個文本框,1個numericUpDown,2個dataTimePickers和2個復選框。

我與本地數據庫連接。 我用INSERT INTO正確地編寫了SQL,但是它不能寫出該數據庫的日期和時間。 並表明這是“錯誤的SQL語法”。 and and it didn't work. 我已經嘗試過 ,但它沒有用。 我想將dataTimePickers中的customFormat更改為DD-MM-YYYY HH:MM(我的意思是在正確的網站上的設置中,而不是在代碼中),但是我不確定它是否可以工作。 下面是這段代碼:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace KontrolaBazaDanych

{
    public partial class InsertStatus : Form
    {
        public InsertStatus()
        {
            InitializeComponent();
        }


    private void button2_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MySqlConnection connection = new MySqlConnection("datasource=localhost;port=3306;username=root;password=");
        string InsertQuery = "INSERT INTO project1.status_order(ID_ORDER, ID_WORKER, ID_MODULE, AMOUNT_OF_PRODUCTS, DATE_OF_START, DATE_OF_END, ORDER_DONE, ORDER_STARTED) VALUES('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + numericUpDown1.Value + "','" + dateTimePicker1.Value.ToString() + "','" + dateTimePicker2.Value.ToString() + "','" + checkBox1.ToString() + "','" + checkBox2.ToString() + "')'";
        connection.Open();
        MySqlCommand command = new MySqlCommand(InsertQuery, connection);

            if (command.ExecuteNonQuery() == 1)
            {
                MessageBox.Show("DATA IS ADDED.");
            }
            else
            {
                MessageBox.Show("ERROR.");
            }
        connection.Close();
    }

// SQL COLUMNS IN status_order表:

ID_ORDER INT,
ID_WORKER INT,
ID_MODULE INT, 
AMOUNT_OF_PRODUCTS INT, 
DATE_OF_START DATETIME, 
DATE_OF_END DATETIME, 
ORDER_DONE BOOLEAN, 
ORDER_STARTED BOOLEAN;

我不知道該怎么辦。 有人可以解釋一下我該如何改變。 感謝您的幫助或建議。

您應該在代碼中執行此操作

dateTimePicker1.Value.ToString("dd-MM-YYYY hh:mm")

也許原因是:

dateTimePicker1.Value.ToString()

即使數據庫具有datetime列,您也可以將日期轉換為字符串

DATE_OF_START DATETIME, 
DATE_OF_END DATETIME,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM