查询sql数据库

时间:2014-06-06 17:53:45

标签: c# ios xamarin

我目前的应用程序目标是从sql数据库中提取信息只读进程。并通过iOS应用程序进行投影。我目前在建立通信方面遇到了麻烦,我不确定要从哪里开始。

按钮位于:ViewController.cs

IList<string> NameList = new List<string>();
string connectionString = "Server=******;Database=******;User Id=******;Password=********
try
{
     IDbConnection dbcon;
     using (dbcon = new SqlConnection(connectionString))
     {
          bcon.Open();
          using (IDbCommand dbcmd = dbcon.CreateCommand())
          {
              string sql = "Select * from people";
              dbcmd.CommandText = sql;
              using (IDataReader reader = dbcmd.ExecuteReader())
              {
                  while (reader.Read())
                  {
                      string FirstName = reader["ForeName"].ToString();
                      NameList.Add(FirstName);
                  }
              reader.Close();
              dbcon.Close();
              title.Text = NameList.FirstOrDefault();
           }    
      }

}
catch
{

我测试了iOS之外的连接字符串以及不同的Visual Studio环境,它完全有效。我还读到了另一种方法,我被告知我不应该尝试查询iOS应用程序的UI,我应该使用网络服务器,但我不知道如何使用SQL服务器启动该任务。

我得到错误:

{System.NotSupportedException:不支持CodePage 1252     在/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Text/Encoding.cs:479中的System.Text.Encoding.GetEncoding(Int32代码页)[0x0015d]   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsCollat​​ion.cs:316中的Mono.Data.Tds.TdsCharset.GetEncodingFromSortOrder(Int32 sortId)[0x00015]   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsCollat​​ion中的Mono.Data.Tds.TdsCharset.GetEncodingFromSortOrder(System.Byte [] collat​​ion)[0x00007]的.cs:310   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsCollat​​ion中的Mono.Data.Tds.TdsCharset.GetEncoding(System.Byte [] collat​​ion)[0x0000b]的.cs:288   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs:1650中的Mono.Data.Tds.Protocol.Tds.ProcessEnvironmentChange()[0x0024f]   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs:1806中的Mono.Data.Tds.Protocol.Tds.ProcessSubPacket()[0x0011f]   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs:641中的Mono.Data.Tds.Protocol.Tds.NextResult()[0x0004a]   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs:714中的Mono.Data.Tds.Protocol.Tds.SkipToEnd()[0x00005]   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data中的Mono.Data.Tds.Protocol.Tds70.Connect(Mono.Data.Tds.Protocol.TdsConnectionParameters connectionParameters)[0x005b5] .Tds.Protocol / Tds70.cs:390   在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data中的Mono.Data.Tds.Protocol.Tds80.Connect(Mono.Data.Tds.Protocol.TdsConnectionParameters connectionParameters)[0x00000] .Tds.Protocol / Tds80.cs:87   在/Developer/MonoTouch/Source/mono/mcs/class/System.Data/System.Data.SqlClient/SqlConnection.cs:566}中的System.Data.SqlClient.SqlConnection.Open()[0x001a9]     base:{System.SystemException}

1 个答案:

答案 0 :(得分:3)

来自http://bartwullems.blogspot.ca/2013/04/xamarinios-solving-codepage-1252-not.html

转到Xamarin Studio中项目的项目设置。 转到Build选项卡,然后选择iOS Build选项。 检查国际化代码集列表中的西方复选框。