오류가 발생했습니다 : Read() 을 호출하기 전에 필드에 액세스하려는 시도가 잘못되었습니다. string result = Reader.GetString (0);Read()를 호출하기 전에 필드에 액세스 할 수 없습니다.
내가 할 것을 완전히 확실하지 않다 또는 무슨 잘못
internal int GetCharGuidByName(string charactername, MySqlConnection connection)
{
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "SELECT guid FROM characters WHERE name=\""+charactername+"\";";
// Initialize MySQL Reader
Reader = command.ExecuteReader();
Reader.Read();
string result = Reader.GetString(0);
// If the character doesn't exist or isn't entered, return 0
int charguid = 0;
if (result != String.Empty)
{
charguid = Convert.ToInt32(result);
}
return charguid;
}
당신이 command.ExecuteReader 방법에 독자를 asigning 전에 연결을 열었습니다? 그리고 Reader.Read()를 if (Reader.Read()) {...}로 변경하고 읽을 결과가 없으면 if 문으로 넘어 가지 않습니다. –
예, 연결이 열려 있고 함수에서 수신 된 연결을 사용하지 않고이 함수 내에서 연결을 시도한 다음 연결을 시도합니다. – user1071461