我目前的应用程序目标是从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/TdsCollation.cs:316中的Mono.Data.Tds.TdsCharset.GetEncodingFromSortOrder(Int32 sortId)[0x00015] 在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsCollation中的Mono.Data.Tds.TdsCharset.GetEncodingFromSortOrder(System.Byte [] collation)[0x00007]的.cs:310 在/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsCollation中的Mono.Data.Tds.TdsCharset.GetEncoding(System.Byte [] collation)[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}
答案 0 :(得分:3)
来自http://bartwullems.blogspot.ca/2013/04/xamarinios-solving-codepage-1252-not.html
转到Xamarin Studio中项目的项目设置。 转到Build选项卡,然后选择iOS Build选项。 检查国际化代码集列表中的西方复选框。