Посоветуйте, пожалуйста, как устранить ошибку sql logi c рядом с синтаксической ошибкой "Ref" - PullRequest
0 голосов
/ 01 августа 2020
 private void ExecuteQquery(string QueryData) 
    {
        SetConnectDB();
        sqlConn.Open();
        sqlCmd = sqlConn.CreateCommand();
        sqlCmd.CommandText = QueryData; 
        sqlCmd.ExecuteNonQuery();
        sqlCmd.Dispose();
        sqlConn.Close();
    }

sqlcmd commandtext = querydata кажется проблемой при запуске программы.

private void btnAddField_Click(object sender, EventArgs e)
    {
        

        string QueryData = "Insert into details(Customer Ref, First Name, Last name, Address, Mobile, " + "Email, Gender, DOB, Nationality, Prove)"
                                + "values('" + btnCustomerReference.Text + "','" + btnFirstName.Text + "','" + btnLastName.Text + "','" +
                                btnAddress.Text + "','" + btnMobile.Text + "','" + btnEmail.Text + "','" + chkGender.Text + "','" + dateTimePicker1 +
                                "','" + chkNationality.Text + "','" + chkPOI.Text + "')";

       ExecuteQquery(QueryData);
       UpLoadData();
    }

Ошибка указывает на ExecuteQquery (QueryData). Я пробовал все способы решения, но безрезультатно.

[команда ниже объявлена ​​в переменной экземпляра]

public SQLiteConnection sqlConn;
    public SQLiteCommand sqlCmd;
    public DataTable sqlDT = new DataTable();
    public DataSet DS = new DataSet();
    public SQLiteDataAdapter DB;

1 Ответ

0 голосов
/ 01 августа 2020

Я обнаружил две проблемы с вашим запросом

  1. Некоторые из ваших имен столбцов содержат пробелы между ними, поэтому используйте одинарные кавычки ''
  2. И перед значениями нет пробела

поэтому отредактируйте свой запрос следующим образом:

string QueryData = "Insert into details('Customer Ref','First Name','Last name','Address','Mobile', " + "'Email','Gender','DOB', 'Nationality','Prove')"
                                    + " values('" + btnCustomerReference.Text + "','" + btnFirstName.Text + "','" + btnLastName.Text + "','" +
                                    btnAddress.Text + "','" + btnMobile.Text + "','" + btnEmail.Text + "','" + chkGender.Text + "','" + dateTimePicker1 +
                                    "','" + chkNationality.Text + "','" + chkPOI.Text + "')";

А также убедитесь, что все данные, которые вы вставляете в таблицу, соответствуют типу данных с соответствующим столбцом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...