所以我正在尝试使用MySqlDataReader从我的数据库中获取数据。我知道数据库确实响应(插入,删除和更新我的程序中的所有工作正常)。
using (MySqlConnection conn = new MySqlConnection(connectionString))
{
// Open a connection
conn.Open();
MySqlCommand command = conn.CreateCommand();
command.CommandText = "select * from cs3500_u0848199.PairedGames";
// Execute the command and cycle through the DataReader object
using (MySqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{ /*do something here*/}
}
}
问题似乎与命令本身无关,因为该命令在MySQL工作台中有效。无论如何,在执行这行代码时
using (MySqlConnection conn = new MySqlConnection(connectionString))
VS调试器注意到抛出了以下异常
System.FormatException未被用户代码
处理 HResult = -2146233033消息= Guid应包含32位数字4 破折号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。来源= mscorlib程序
堆栈跟踪: 在System.Guid.TryParseGuidWithNoStyle(String guidString,GuidResult& result) 在System.Guid.TryParseGuid(String g,GuidStyles标志,GuidResult&结果) 在System.Guid..ctor(String g) at MySql.Data.Types.MySqlGuid.MySql.Data.Types.IMySqlValue.ReadValue(MySqlPacket) packet,Int64 length,Boolean nullVal) at MySql.Data.MySqlClient.NativeDriver.ReadColumnValue(Int32 index,MySqlField field,IMySqlValue valObject) 在MySql.Data.MySqlClient.Driver.ReadColumnValue(Int32索引,MySqlField字段,IMySqlValue值) at MySql.Data.MySqlClient.ResultSet.ReadColumnData(Boolean outputParms) at MySql.Data.MySqlClient.ResultSet.NextRow(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlDataReader.Read() 位于D:\ repositories \ x0848199 \ PS11 \ ToDoService \ BoggleService.svc.cs中的ToDoList.BoggleService.GetBriefStatus(String gameToken):line 443 在SyncInvokeGetBriefStatus(Object,Object [],Object []) 在System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object 实例,对象[]输入,对象[]&输出) 在System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)InnerException:
真的不确定为什么它告诉我guid格式,因为我在这段代码中没有使用Guids。 任何帮助将不胜感激。
答案 0 :(得分:2)
似乎将;old guids=true;
附加到连接字符串可以解决问题。