2016-02-28 3 views
1

У меня есть моя база данных связанный с моим проектом, и я пытаюсь просмотреть данные своей базы данных в виде сетки данных. Моя база данных написана на SQL сервере, и мой кодerror C2664: 'System :: String^System :: Data :: Common :: DbDataReader :: GetString (int)': невозможно преобразовать параметр 1 из 'const char [12]' в 'int'

  SqlCommand^ myCommand = gcnew SqlCommand("SELECT * FROM CSC 289.Customer WHERE Customer_ID = '" + grid + "';", myCon); 
      SqlDataReader^ myReader; 

      try { 
       myCon->Open(); 

        myReader = myCommand -> ExecuteReader(); 

        if (myReader -> Read()){ 
         String^ ID = myReader -> GetString("Customer_ID"); 
         txtID -> Text = ID; 
         /*String^ NameVal = myReader -> GetString("Customer_Name"); 
         txtName -> Text = NameVal; 
         String^ PhoneVal = myReader -> GetString("Customer_Phone"); 
         txtPhone -> Text = PhoneVal; 
         String^ EmailVal = myReader -> GetString("Customer_Email"); 
         txtEmail -> Text = EmailVal;*/ 
        } 

      } 
      catch (Exception^ ex) { 
       MessageBox::Show(ex->Message); 
      } 
     } 

Ошибки, которые я получаю, когда я пытаюсь запустить мою программу являются

ошибка C2664: «System :: String^System :: Data :: Общие :: DbDataReader :: GetString (интермедиат)»: не удается преобразовать параметр 1 из 'сопзЬ гольца [12]' до '' междунар

и

функции системы» :: Data :: SqlClient :: SqlDataReader :: GetString "не может быть вызван с заданным аргументом Типы аргументов: (co nst char [12]) Тип объекта: Система :: Данные :: SqlClient :: SqlDataReader^

Я не уверен, как исправить мою проблему и помочь было бы здорово.

ответ

0

Как сказано на поле, GetString ожидает целое число и возвращает строку. https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getstring(v=vs.110).aspx

SqlDataReader.GetString метод (Int32)

здесь хорошая статья о том, как использовать для чтения данных в C++ http://www.digitalcoding.com/Code-Snippets/CPP-CLI/C-CLI-Code-Snippet-Get-Data-From-SqlDataReader.html

Правильный синтаксис, что вы ищете C++

String^ ID = myReader["Customer_ID"]->ToString(); 

C# синтаксис

String ID = myReader["Customer_ID"].ToString(); 
+0

Спасибо, что помогает. У меня были проблемы с порядком и я не мог понять. – Doe

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