Ошибка There was an error parsing the query. [ Token line number = 1,Token line offset = 43,Token in error = записи ] - C#

Узнай цену своей работы

Формулировка задачи:

В чем проблема, не могу понять. Вот исходник:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.IO;
  10.  
  11. using System.Data.SqlServerCe;
  12. namespace WindowsFormsApplication1
  13. {
  14. public partial class Form1 : Form
  15. {
  16. public Form1()
  17. {
  18. InitializeComponent();
  19. // настройка компонента ListView:
  20. // увеличим ширину компонента на 17 - ширину
  21. // полосы прокрутки
  22. int w = 0;
  23. for (int i = 0; i < listView1.Columns.Count; i++)
  24. {
  25. w += listView1.Columns[i].Width;
  26. }
  27. if (listView1.BorderStyle == BorderStyle.Fixed3D)
  28. w += 4;
  29. listView1.Width = w+17; // 17 - область отображения полосы прокрутки
  30. // выделять всю строку (элемент и подэлементы)
  31. listView1.FullRowSelect = true;
  32. }
  33. private void Form1_Load(object sender, EventArgs e)
  34. {
  35. // Cоздать БД SQL Server Compact Edition.
  36. // Если путь к файлу не указан, БД будет создана
  37. // в каталоге приложения
  38. SqlCeEngine engine;
  39. engine = new SqlCeEngine("Data Source='notebook.sdf';");
  40. if (!(File.Exists("notebook.sdf")))
  41. {
  42. engine.CreateDatabase();
  43. SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
  44. connection.Open();
  45. SqlCeCommand command = connection.CreateCommand();
  46. command.CommandText =
  47. "CREATE TABLE notebook (№ записи int IDENTITY(1,1), Заголовок записи nvarchar(50) NOT NULL, Дата записи(50), Запись nvarchar(50))";
  48. command.ExecuteScalar();
  49. connection.Close();
  50. }
  51. else
  52. {
  53. ShowDB();
  54. }
  55. }
  56. private void ShowDB()
  57. {
  58. SqlCeEngine engine = new SqlCeEngine("Data Source='notebook.sdf';");
  59. SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
  60. connection.Open();
  61. SqlCeCommand command = connection.CreateCommand();
  62. command.CommandText = "SELECT * FROM notebook ORDER BY Заголовок записи";
  63. [COLOR="Yellow"]SqlCeDataReader dataReader = command.ExecuteReader();[/COLOR]
  64. string st; // значение поля БД
  65. int itemIndex = 0;
  66. listView1.Items.Clear();
  67. while (dataReader.Read())
  68. {
  69. for (int i = 0; i < dataReader.FieldCount; i++)
  70. {
  71. st = dataReader.GetValue(i).ToString();
  72. switch (i)
  73. {
  74. case 0: // поле cid
  75. listView1.Items.Add(st);
  76. break;
  77. case 1: // поле name
  78. listView1.Items[itemIndex].SubItems.Add(st);
  79. //listView1.Items.Add(st);
  80. break;
  81. case 2: // поле phone
  82. listView1.Items[itemIndex].SubItems.Add(st);
  83. break;
  84. case 3: // поле email
  85. listView1.Items[itemIndex].SubItems.Add(st);
  86. break;
  87. };
  88. }
  89. itemIndex++;
  90. }
  91. connection.Close();
  92. }
  93. // пользователь выбрал строку в поле компонента listView
  94. private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
  95. {
  96. // При выборе строки событие ItemSelectionChanged возникает два раза:
  97. // первый раз, когда выделенная в данный момент строка теряут фокус,
  98. // второй - когда строка, в которой сделан щелчок, получает фокус.
  99. // Нас интересует строка, которая получает фокус.
  100. if (e.IsSelected)
  101. {
  102. // строка выбрана, т.е. она получила фокус
  103. textBox4.Text = listView1.Items[e.ItemIndex].Text;
  104. for (int i = 1; i < listView1.Items[e.ItemIndex].SubItems.Count; i++)
  105. {
  106. switch (i)
  107. {
  108. case 1:
  109. textBox1.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
  110. break;
  111. case 2:
  112. textBox2.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
  113. break;
  114. case 3:
  115. textBox3.Text = listView1.Items[e.ItemIndex].SubItems[i].Text;
  116. break;
  117. }
  118. }
  119. }
  120. }
  121. // щелчок на кнопке Добавить
  122. private void button1_Click(object sender, EventArgs e)
  123. {
  124. SqlCeConnection conn = new SqlCeConnection("Data Source ='notebook.sdf'");
  125. conn.Open();
  126. SqlCeCommand command = conn.CreateCommand();
  127. command.CommandText = "INSERT INTO notebook(Заголовок записи, Дата записи, Запись) VALUES(?,?,?)";
  128. command.Parameters.Add("Заголовок записи", textBox1.Text);
  129. command.Parameters.Add("Дата записи", textBox2.Text);
  130. command.Parameters.Add("Запись", textBox3.Text);
  131. command.ExecuteScalar();
  132. conn.Close();
  133. // очистить поля ввода
  134. textBox1.Clear();
  135. textBox2.Clear();
  136. textBox3.Clear();
  137. ShowDB();
  138. // установить курсор в поле textBox1
  139. textBox1.Focus();
  140. }
  141. // щелчок на кнопке Найти
  142. private void button2_Click(object sender, EventArgs e)
  143. {
  144. SqlCeEngine engine = new SqlCeEngine("Data Source='notebook.sdf';");
  145. SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
  146. connection.Open();
  147. SqlCeCommand command = connection.CreateCommand();
  148. command.CommandText = "SELECT * FROM notebook WHERE (Заголовок записи LIKE ?)";
  149. command.Parameters.Add("Заголовок записи", "%" + textBox1.Text + "%");
  150. SqlCeDataReader dataReader = command.ExecuteReader();
  151. string st; // значение поля БД
  152. int itemIndex = 0;
  153. listView1.Items.Clear();
  154. while (dataReader.Read())
  155. {
  156. for (int i = 0; i < dataReader.FieldCount; i++)
  157. {
  158. st = dataReader.GetValue(i).ToString();
  159. switch (i)
  160. {
  161. case 0: // поле cid
  162. listView1.Items.Add(st);
  163. break;
  164. case 1: // поле name
  165. //listView1.Items.Add(st);
  166. listView1.Items[itemIndex].SubItems.Add(st);
  167. break;
  168. case 2: // поле phone
  169. listView1.Items[itemIndex].SubItems.Add(st);
  170. break;
  171. case 3: // поле email
  172. listView1.Items[itemIndex].SubItems.Add(st);
  173. break;
  174. };
  175. }
  176. itemIndex++;
  177. }
  178. connection.Close();
  179. }
  180. // щелчок на кнопке Удалить
  181. private void button3_Click(object sender, EventArgs e)
  182. {
  183. if (listView1.SelectedItems.Count != 0)
  184. {
  185. //MessageBox.Show(listView1.SelectedItems[0].Text);
  186. SqlCeEngine engine = new SqlCeEngine("Data Source='notebook.sdf';");
  187. SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
  188. connection.Open();
  189. SqlCeCommand command = connection.CreateCommand();
  190. command.CommandText = "DELETE FROM notebook WHERE (№ записи = ?)";
  191. command.Parameters.Add("№ записи", textBox4.Text);
  192. command.ExecuteScalar(); // выполнить команду
  193.  
  194. ShowDB();
  195. textBox1.Clear();
  196. textBox2.Clear();
  197. textBox3.Clear();
  198. textBox4.Clear();
  199. }
  200. }
  201. // щелчок на кнопке Изменить
  202. private void button4_Click(object sender, EventArgs e)
  203. {
  204. if (listView1.SelectedItems.Count != 0)
  205. {
  206. SqlCeEngine engine = new SqlCeEngine("Data Source='notebook.sdf';");
  207. SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
  208. connection.Open();
  209. SqlCeCommand command = connection.CreateCommand();
  210. command.CommandText = "UPDATE notebook SET Заголовок записи = ?, Дата записи =?, Запись=? WHERE № записи = ?";
  211. command.Parameters.Add("Заголовок записи", textBox1.Text);
  212. command.Parameters.Add("Дата записи", textBox2.Text);
  213. command.Parameters.Add("Запись", textBox3.Text);
  214. command.Parameters.Add("№ записи", textBox4.Text);
  215. command.ExecuteScalar(); // выполнить команду
  216. ShowDB();
  217. textBox1.Clear();
  218. textBox2.Clear();
  219. textBox3.Clear();
  220. textBox4.Clear();
  221. }
  222. }
  223. // изменился текст в поле редактирования
  224. private void textBox1_TextChanged(object sender, EventArgs e)
  225. {
  226. // кнопка Добавить становится доступной, если информация введена
  227. // в поле Имя и в какое-либо из полей Телефон или E-mail
  228. if ((textBox1.TextLength > 0) &&
  229. ((textBox2.TextLength > 0) || (textBox3.TextLength > 0)))
  230. button1.Enabled = true;
  231. else
  232. {
  233. button1.Enabled = false;
  234. }
  235. }
  236.  
  237. }
  238. }

Решение задачи: «Ошибка There was an error parsing the query. [ Token line number = 1,Token line offset = 43,Token in error = записи ]»

textual
Листинг программы
  1.  private void button1_Click(object sender, EventArgs e)
  2.         {
  3.  
  4.             SqlCeConnection conn = new SqlCeConnection("Data Source = mydb.sdf; Persist Security Info=False;");
  5.            
  6.             conn.Open();
  7.          
  8.                 SqlCeCommand command = conn.CreateCommand();
  9.                 command.CommandText = "INSERT INTO Bud (Budget,Food,Clothes,Electronics,Entertaiment,Credits) VALUES (?,?,?,?,?,?)";
  10.  
  11.                        command.Parameters.Add("Budget", textBox1.Text.ToString());
  12.                        command.Parameters.Add("Food", textBox2.Text.ToString());
  13.                        command.Parameters.Add("Clothes", textBox3.Text.ToString());
  14.                        command.Parameters.Add("Electronics", textBox4.Text.ToString());
  15.                        command.Parameters.Add("Entertaiment", textBox5.Text.ToString());
  16.                        command.Parameters.Add("Credits", textBox6.Text.ToString());
  17.            
  18.                         command.ExecuteScalar();
  19.                         conn.Close();
  20.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы