2013-12-06 3 views
0

Я пытаюсь выбрать столбец no.ofTrips в своем tbl_bill_addtrips , но когда каждый раз я нажимаю кнопку, ОК. Появится Неизвестный столбец «no.ofTrips» в «списке полей». это мой пример коданеизвестный столбец «имя столбца» в «списке полей»

try 
    { 
     string MyConSs = "SERVER=localhost;" + 
     "DATABASE=prototype_db;" + 
     "UID=root;"; 

     MySqlConnection conns = new MySqlConnection(MyConSs); 
     MySqlCommand comms = conns.CreateCommand(); 
     MySqlDataAdapter da = new MySqlDataAdapter(); 

     comms.CommandText = "Select no.ofTrips FROM tbl_bill_addtrips WHERE RouteFrom = '" + this.txtBillRouteFrom.Text + "' and RouteTo ='" + txtBillRouteTo.Text + "'"; 
     MySqlDataReader Readers; 
     conns.Open(); 
     Readers = comms.ExecuteReader(); 
     while (Readers.Read()) 
     { 
      txtNoOfTrips.Text = Readers.GetValue(0).ToString(); 
     } 
     Readers.Close(); 
     conns.Close(); 
    } 
    catch (Exception error) 
    { 
     MessageBox.Show(error.ToString()); 
    } 

пожалуйста, помогите мне спасибо заранее

+0

перепроверить ли у вас имя столбца, как названные выше. И проверьте, правильно ли это написано или нет. – Vivekh

+0

да, no.ofTrips - столбецName –

+1

try [no.oftrips] – Rob

ответ

0

У вас есть таблица псевдоним «нет», но это еще не определено в из раздела.
Попробуйте это:

Select no.ofTrips FROM tbl_bill_addtrips no WHERE ... 

Или удалить псевдоним из колонки:

Select ofTrips FROM tbl_bill_addtrips WHERE ... 
+0

спасибо, что это работает: D –

0

Вы не можете иметь имя столбца no.ofTrips, как вы используете в запросе. Он будет разделяться в таблице и столбце. например нет, как имя таблицы, которые содержатTrips в качестве столбца. Проверьте правильность имени столбца в запросе.

Решение: Исправить имя столбца no.ofTrips с допустимыми символами в sql.

Запрос много быть как ниже:

"Select no.ofTrips FROM tbl_bill_addtrips as no WHERE RouteFrom = '".... 

здесь no выполнен в виде abbrivation из tbl_bill_addtrips, которые могут быть вам не хватает ..

Проверить это - What special characters are allowed in T-SQL column name?

+0

спасибо, что он работает –

1

Если имя столбца действительно содержит ., тогда вам необходимо обернуть его в скобки:

Select [no.ofTrips] FROM tbl_bill_addtrips WHERE RouteFrom ... 
// ^  ^

Или кавычка для MySQL:

Select `no.ofTrips` FROM tbl_bill_addtrips WHERE RouteFrom ... 
// ^  ^

Кроме того, этот код чувствителен к SQL Injection атак. Пожалуйста, прочитайте около parameterized queries.

+0

спасибо вам большое !! ^^ –

0

его происхождение, потому что ваше имя столбца состоит из '.' попробуйте переименовать свою колонку в no_of_Trips или no_ofTrips из-за. он не принимает «нет» в виде таблицы и «ofTrips» в колонке

вы также можете использовать [] вокруг имени столбца в виде [no.ofTrips]

Смежные вопросы