Как нажать на метку в списке и чтобы текст отображался в нескольких текстовых окнах - PullRequest
0 голосов
/ 26 сентября 2018

Я проектирую планировщик, и у меня возникают проблемы, когда я нажимаю кнопку добавления задачи.Как только я нажимаю на нее, моя программа падает, и отображается эта ошибка:

"System.Data.SqlClient.SqlException: 'Неверный синтаксис рядом с ключевым словом' table '.'"

Где найти неправильный синтаксис?

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 System.Data.SqlClient;

namespace InfoHub
{
    public partial class Planner : Form
    {
        SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\epoch\source\repos\InfoHub\InfoHub\planner.mdf;Integrated Security=True;Connect Timeout=30");
        public Planner()
        {
            InitializeComponent();
        }

        private void Planner_Load(object sender, EventArgs e)
        {
            this.TopMost = true;
        }

        private void addTask_Click(object sender, EventArgs e)
        {
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "insert into table values('" + textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','"+textBox7.Text+"')";
            cmd.ExecuteNonQuery();
            con.Close();
            textBox3.Text = "";
            textBox4.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
            textBox7.Text = "";
        }

1 Ответ

0 голосов
/ 26 сентября 2018

Вы неправильно используете команду вставки sql:

cmd.CommandText = "insert into table values('" + textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','"+textBox7.Text+"')";

таблица является ключевым словом sql и не обрабатывается как имя таблицы.Попробуйте добавить запись в виде 'table', чтобы сообщить sql, что 'table' - это имя конкретной таблицы, а не ключевое слово:

  cmd.CommandText = "insert into 'table' values('" + textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','"+textBox7.Text+"')";

Обычно рекомендуется всегда писать имена в ''.

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