2014-09-23 5 views
0

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

public partial class chart4 : System.Web.UI.Page 
{ 
    SqlConnection con; 
    SqlCommand cmd; 
    SqlDataAdapter da; 
    DataSet ds; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=G:\vipin\graph\graph.mdf;Integrated Security=True;Connect Timeout=30"); 
     cmd = new SqlCommand("Select * from check", con); 
     da = new SqlDataAdapter(cmd); 
     ds = new DataSet(); 
     da.Fill(ds); 

     DataView source = new DataView(ds.Tables[0]); 
     Chart1.DataSource = source; 

     Chart1.Series[0].XValueMember = "name"; 
     Chart1.Series[0].YValueMembers = "age"; 
     Chart1.Series[0].XValueMember = "address"; 
     Chart1.Series[0].YValueMembers = "phno"; 
     Chart1.DataBind(); 
    } 
} 

Источник:

<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Chart ID="Chart1" runat="server"> 
      <Series> 
       <asp:Series Name="name"></asp:Series> 
       <asp:Series Name="age"></asp:Series> 
       <asp:Series Name="address"></asp:Series> 
       <asp:Series Name="phno"></asp:Series> 
      </Series> 
      <ChartAreas> 
       <asp:ChartArea Name="ChartArea1"></asp:ChartArea> 
      </ChartAreas> 
     </asp:Chart> 
    </div> 
+0

Действительно действительно плохое имя для таблицы .... вы должны ** ** избегать все [зарезервированных ключевых слов для SQL Server] (http://msdn.microsoft.com/en-us/library/ms189822 .aspx) и do ** NOT ** использовать их в качестве имен таблиц или столбцов! –

ответ

5

Я считаю, что CHECK зарезервированное слово в T-SQL Server, так обернуть его в фигурные скобки [check]

+0

Или еще лучше: используйте более описательное, более содержательное имя .... –

1

CHECK является reserved keyword в T-SQL. Вы должны использовать его с квадратными скобками, например [check]

В качестве общей рекомендации не используйте зарезервированные ключевые слова для ваших идентификаторов и имен объектов в вашей базе данных. Лучшим решением является изменение имени на не зарезервированное слово.

Также используйте using statement для размещения ваших SqlConnection и SqlCommand.

using(SqlConnection con = new SqlConnection(connString)) 
using(SqlCommand cmd = con.CreateCommand()) 
{ 
    // 
} 
Смежные вопросы