我的数据库链接到我的项目,我正在尝试在数据网格视图中查看我的数据库数据。我的数据库是用sql server编写的,我的代码是
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 :: Common :: DbDataReader :: GetString(int)' :无法从' const char [12]'转换参数1到' int'
和
function" System :: Data :: SqlClient :: SqlDataReader :: GetString"无法使用给定的参数列表调用 参数类型是:(const char [12]) 对象类型是:System :: Data :: SqlClient :: SqlDataReader ^
我不确定如何解决我的问题,帮助会很棒。
答案 0 :(得分:0)
正如它在框中所说,GetString需要一个Integer并返回一个字符串。 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();