Ошибка синтаксиса SQL - PullRequest
       4

Ошибка синтаксиса SQL

2 голосов
/ 15 марта 2011

Здравствуйте, я думаю, что я испортил свой синтаксис sql, я не могу вывести имя и второе имя на мой ярлык в asp.net

Таблица User имеет запись UserID = 1, и я хотел бы вывести название этой записи на мой ярлык:

 {
   OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};     
                                           Server=localhost; 
                                           Database=gymwebsite; 
                                           User=a; 
                                           Password=b;");
   cn.Open();

   OdbcCommand cmd = new OdbcCommand("SELECT (FirstName, SecondName) 
                                        FROM User 
                                       WHERE UserID = 1", cn);
   OdbcDataReader reader = cmd.ExecuteReader();

   while (reader.Read()) {
     Name.Text = (reader[1].ToString());
   }
}

Ответы [ 3 ]

5 голосов
/ 15 марта 2011

Уберите скобки из списка полей SELECT:

SELECT FirstName, SecondName FROM User WHERE UserID=1

Или, если вы пытаетесь объединить оба поля в одну строку:

SELECT CONCAT(FirstName, ' ', SecondName) FROM User WHERE UserID=1
3 голосов
/ 15 марта 2011

если вы хотите одну строку, я бы использовал конкатенацию - в Oracle это выглядит так:

SELECT FirstName || ' ' || SecondName  as Name
FROM User 
WHERE UserID=1
2 голосов
/ 15 марта 2011

Как предложено BoltClock, попробуйте удалить скобки.

В любом случае для вывода FirstName и SecondName попытайтесь использовать что-то вроде:

while (reader.Read())
{
    Name.Text = String.Format("{0} {1}", reader.GetString(0), reader.GetString(1));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...