Ошибка There was an error parsing the query. [ Token line number = 1,Token line offset = 43,Token in error = записи ] - C#
Формулировка задачи:
В чем проблема, не могу понять. Вот исходник:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.IO;
- using System.Data.SqlServerCe;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- // настройка компонента ListView:
- // увеличим ширину компонента на 17 - ширину
- // полосы прокрутки
- int w = 0;
- for (int i = 0; i < listView1.Columns.Count; i++)
- {
- w += listView1.Columns[i].Width;
- }
- if (listView1.BorderStyle == BorderStyle.Fixed3D)
- w += 4;
- listView1.Width = w+17; // 17 - область отображения полосы прокрутки
- // выделять всю строку (элемент и подэлементы)
- listView1.FullRowSelect = true;
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- // Cоздать БД SQL Server Compact Edition.
- // Если путь к файлу не указан, БД будет создана
- // в каталоге приложения
- SqlCeEngine engine;
- engine = new SqlCeEngine("Data Source='notebook.sdf';");
- if (!(File.Exists("notebook.sdf")))
- {
- engine.CreateDatabase();
- SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
- connection.Open();
- SqlCeCommand command = connection.CreateCommand();
- command.CommandText =
- "CREATE TABLE notebook (№ записи int IDENTITY(1,1), Заголовок записи nvarchar(50) NOT NULL, Дата записи(50), Запись nvarchar(50))";
- command.ExecuteScalar();
- connection.Close();
- }
- else
- {
- ShowDB();
- }
- }
- private void ShowDB()
- {
- SqlCeEngine engine = new SqlCeEngine("Data Source='notebook.sdf';");
- SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
- connection.Open();
- SqlCeCommand command = connection.CreateCommand();
- command.CommandText = "SELECT * FROM notebook ORDER BY Заголовок записи";
- [COLOR="Yellow"]SqlCeDataReader dataReader = command.ExecuteReader();[/COLOR]
- string st; // значение поля БД
- int itemIndex = 0;
- listView1.Items.Clear();
- while (dataReader.Read())
- {
- for (int i = 0; i < dataReader.FieldCount; i++)
- {
- st = dataReader.GetValue(i).ToString();
- switch (i)
- {
- case 0: // поле cid
- listView1.Items.Add(st);
- break;
- case 1: // поле name
- listView1.Items[itemIndex].SubItems.Add(st);
- //listView1.Items.Add(st);
- break;
- case 2: // поле phone
- listView1.Items[itemIndex].SubItems.Add(st);
- break;
- case 3: // поле email
- listView1.Items[itemIndex].SubItems.Add(st);
- break;
- };
- }
- itemIndex++;
- }
- connection.Close();
- }
- // пользователь выбрал строку в поле компонента listView
- private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
- {
- // При выборе строки событие ItemSelectionChanged возникает два раза:
- // первый раз, когда выделенная в данный момент строка теряут фокус,
- // второй - когда строка, в которой сделан щелчок, получает фокус.
- // Нас интересует строка, которая получает фокус.
- if (e.IsSelected)
- {
- // строка выбрана, т.е. она получила фокус
- textBox4.Text = listView1.Items[e.ItemIndex].Text;
- for (int i = 1; i < listView1.Items[e.ItemIndex].SubItems.Count; i++)
- {
- switch (i)
- {
- case 1:
- textBox1.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
- break;
- case 2:
- textBox2.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
- break;
- case 3:
- textBox3.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
- break;
- }
- }
- }
- }
- // щелчок на кнопке Добавить
- private void button1_Click(object sender, EventArgs e)
- {
- SqlCeConnection conn = new SqlCeConnection("Data Source ='notebook.sdf'");
- conn.Open();
- SqlCeCommand command = conn.CreateCommand();
- command.CommandText = "INSERT INTO notebook(Заголовок записи, Дата записи, Запись) VALUES(?,?,?)";
- command.Parameters.Add("Заголовок записи", textBox1.Text);
- command.Parameters.Add("Дата записи", textBox2.Text);
- command.Parameters.Add("Запись", textBox3.Text);
- command.ExecuteScalar();
- conn.Close();
- // очистить поля ввода
- textBox1.Clear();
- textBox2.Clear();
- textBox3.Clear();
- ShowDB();
- // установить курсор в поле textBox1
- textBox1.Focus();
- }
- // щелчок на кнопке Найти
- private void button2_Click(object sender, EventArgs e)
- {
- SqlCeEngine engine = new SqlCeEngine("Data Source='notebook.sdf';");
- SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
- connection.Open();
- SqlCeCommand command = connection.CreateCommand();
- command.CommandText = "SELECT * FROM notebook WHERE (Заголовок записи LIKE ?)";
- command.Parameters.Add("Заголовок записи", "%" + textBox1.Text + "%");
- SqlCeDataReader dataReader = command.ExecuteReader();
- string st; // значение поля БД
- int itemIndex = 0;
- listView1.Items.Clear();
- while (dataReader.Read())
- {
- for (int i = 0; i < dataReader.FieldCount; i++)
- {
- st = dataReader.GetValue(i).ToString();
- switch (i)
- {
- case 0: // поле cid
- listView1.Items.Add(st);
- break;
- case 1: // поле name
- //listView1.Items.Add(st);
- listView1.Items[itemIndex].SubItems.Add(st);
- break;
- case 2: // поле phone
- listView1.Items[itemIndex].SubItems.Add(st);
- break;
- case 3: // поле email
- listView1.Items[itemIndex].SubItems.Add(st);
- break;
- };
- }
- itemIndex++;
- }
- connection.Close();
- }
- // щелчок на кнопке Удалить
- private void button3_Click(object sender, EventArgs e)
- {
- if (listView1.SelectedItems.Count != 0)
- {
- //MessageBox.Show(listView1.SelectedItems[0].Text);
- SqlCeEngine engine = new SqlCeEngine("Data Source='notebook.sdf';");
- SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
- connection.Open();
- SqlCeCommand command = connection.CreateCommand();
- command.CommandText = "DELETE FROM notebook WHERE (№ записи = ?)";
- command.Parameters.Add("№ записи", textBox4.Text);
- command.ExecuteScalar(); // выполнить команду
- ShowDB();
- textBox1.Clear();
- textBox2.Clear();
- textBox3.Clear();
- textBox4.Clear();
- }
- }
- // щелчок на кнопке Изменить
- private void button4_Click(object sender, EventArgs e)
- {
- if (listView1.SelectedItems.Count != 0)
- {
- SqlCeEngine engine = new SqlCeEngine("Data Source='notebook.sdf';");
- SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
- connection.Open();
- SqlCeCommand command = connection.CreateCommand();
- command.CommandText = "UPDATE notebook SET Заголовок записи = ?, Дата записи =?, Запись=? WHERE № записи = ?";
- command.Parameters.Add("Заголовок записи", textBox1.Text);
- command.Parameters.Add("Дата записи", textBox2.Text);
- command.Parameters.Add("Запись", textBox3.Text);
- command.Parameters.Add("№ записи", textBox4.Text);
- command.ExecuteScalar(); // выполнить команду
- ShowDB();
- textBox1.Clear();
- textBox2.Clear();
- textBox3.Clear();
- textBox4.Clear();
- }
- }
- // изменился текст в поле редактирования
- private void textBox1_TextChanged(object sender, EventArgs e)
- {
- // кнопка Добавить становится доступной, если информация введена
- // в поле Имя и в какое-либо из полей Телефон или E-mail
- if ((textBox1.TextLength > 0) &&
- ((textBox2.TextLength > 0) || (textBox3.TextLength > 0)))
- button1.Enabled = true;
- else
- {
- button1.Enabled = false;
- }
- }
- }
- }
Решение задачи: «Ошибка There was an error parsing the query. [ Token line number = 1,Token line offset = 43,Token in error = записи ]»
textual
Листинг программы
- private void button1_Click(object sender, EventArgs e)
- {
- SqlCeConnection conn = new SqlCeConnection("Data Source = mydb.sdf; Persist Security Info=False;");
- conn.Open();
- SqlCeCommand command = conn.CreateCommand();
- command.CommandText = "INSERT INTO Bud (Budget,Food,Clothes,Electronics,Entertaiment,Credits) VALUES (?,?,?,?,?,?)";
- command.Parameters.Add("Budget", textBox1.Text.ToString());
- command.Parameters.Add("Food", textBox2.Text.ToString());
- command.Parameters.Add("Clothes", textBox3.Text.ToString());
- command.Parameters.Add("Electronics", textBox4.Text.ToString());
- command.Parameters.Add("Entertaiment", textBox5.Text.ToString());
- command.Parameters.Add("Credits", textBox6.Text.ToString());
- command.ExecuteScalar();
- conn.Close();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д