Я выкладываю верхнюю часть кода. Независимо от того, что я делаю, компилятор говорит, что мне не хватает пространства имен, или я использую метод, подобный классу, или ожидающий 'or ='. Я совершенно новичок в программировании на C #.
Проблема: Запрос проверяет, есть ли люди в вашей сети. Люди с другими в сети, без ошибок. Люди без других в своей сети, ошибка. (Я даже не перебрал сетевой запрос, чтобы заполнить раздел «друзья» в разделе XML, если друзья находятся в их сети)
Спасибо заранее за помощь
<%@ Page language="c#" %>
<script runat="server" language="C#">
protected void Page_Load(object sender, EventArgs e)
{
string xml;
try
{
xml = Auth(Request.Params["uid"].ToString());
}
catch (Exception ex)
{
xml = ex.Message;
}
if (!string.IsNullOrEmpty(xml))
{
Response.Clear();
Response.ExpiresAbsolute = DateTime.Now;
Response.AddHeader("Content-type", "text/xml");
Response.Write(xml);
}
if (!string.IsNullOrEmpty(xml) || Request.Params["uid"] != string.Empty)
{
Response.End();
}
}
protected virtual string Auth(string uid)
{
String xml;
if (!String.IsNullOrEmpty(Request["uid"]))
{
System.Data.DataTable dtTable = new System.Data.DataTable();
System.Data.DataTable memTable = new System.Data.DataTable();
System.Data.DataTable netTable = new System.Data.DataTable();
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
conn.Open();
string query = "SELECT userid, username, city, state, country, birthday, img1, userLevelName, gendername, title FROM UserInfo INNER JOIN Gend ON UserInfo.gendID = Gend.gendID INNER JOIN UserLevel ON UserInfo.UserLevelID = UserLevel.UserLevelID WHERE userid='" + Request["uid"] + "'";
System.Data.SqlClient.SqlDataAdapter adp = new System.Data.SqlClient.SqlDataAdapter(query, conn);
adp.Fill(dtTable);
//start of problem is that the next query checks to see if someone is in your network, people with others in network, no error. people without others in their network error
string query1 = "SELECT MemID FROM network WHERE userid='" + Request["uid"] + "'";
System.Data.SqlClient.SqlDataAdapter memdp = new System.Data.SqlClient.SqlDataAdapter(query1, conn);
memdp.Fill(memTable);
string query2 = "SELECT Distinct userid, username, img1, birthday, gendid, city, state, country, title FROM UserInfo WHERE (userinfo.userid IN (" + memTable.Rows[0]["memid"] + ")) AND userinfo.img1 is not null order by userinfo.username";
System.Data.SqlClient.SqlDataAdapter netdp = new System.Data.SqlClient.SqlDataAdapter(query2, conn);
netdp.Fill(netTable);
//end of problem
conn.Close();
xml = string.Format("<login result=\"OK\">" +
"<userData>" +
"<id><![CDATA[" + dtTable.Rows[0]["userid"] + "]]></id>" +
"<name><![CDATA[" + dtTable.Rows[0]["username"] + "]]></name>" +
"<gender><![CDATA[" + dtTable.Rows[0]["gendername"] + "]]></gender>" +
"<location><![CDATA[" + dtTable.Rows[0]["city"] + "]]>, <![CDATA[" + dtTable.Rows[0]["state"] + "]]>, <![CDATA[" + dtTable.Rows[0]["country"] + "]]></location>" +
"<age>22</age>" +
"<photo>http://www.somesite.com/thumbnail.asp?path=" + dtTable.Rows[0]["img1"] + "</photo>" +
"<thumbnail>http://www.somesite.com/thumbnail.asp?path=" + dtTable.Rows[0]["img1"] + "</thumbnail>" +
"<details><![CDATA[" + dtTable.Rows[0]["title"] + "]]></details>" +
"<level><![CDATA[" + dtTable.Rows[0]["userlevelname"] + "]]></level>" +
"<profileUrl>http://www.somesite.com/" + dtTable.Rows[0]["username"] + "</profileUrl>" +
"</userData>" +
"<friends>" +
"<friend>" +
"<id>2</id>" +
"<name>Bill</name>" +
"<gender>0</gender>" +
"<location>London, UK</location>" +
"<age>22</age>" +
"<photo>http://yourdomain/photos/bill.png</photo>" +
"<thumbnail>http://yourdomain/photos/bill_small.png</thumbnail>" +
"<details>Hello, I am Bill</details>" +
"<level>regular</level>" +
"</friend>" +
"</friends>" +