PDA

View Full Version : سوال: تبدیل محتوای SqlDataReader به آرایه JSON



slr560
جمعه 22 خرداد 1394, 12:09 عصر
سلام دوستان
من دارم یه وبسرویس با C#‎‎‎‎ مینویسم که به مشکلی برخوردم
من داده هارو با SqlDataReader از دیتابیس میخونم و میخوام به Json تبدیلشون کنم
میخوام یه چیزی مث json زیر بشه . کسی میتونه کمک کنه؟


[{
"PersonID": 17791,
"PersonName": "jake",
"PersonFamily": "wr",
"PersonFatherName": "gi",
"PersonBirthDay": "",
"PersonNationalNo": "12715761",
"PersonIdentyNo": "12711761",
"PersonGender": "1",
"PersonMobileNo": "9132267",
"EducationLevelName": "karshenasi",
"StudentCode": "9005069",
"CityName": "نا مشخص",
"PersonTypeName": "دانشجو",
"MajorName": "مهندسي كامپيوتر- نرم افزار",
"UserStatus": "1"
}]

slr560
جمعه 22 خرداد 1394, 18:52 عصر
تونستم با این کد اطلاعات رو از دیتابیس بکشم بیرون و بریزم توی Dictionary
فقط نمیدونم سطرهای دیکشنری رو چجوری به JSON تبدیل کنم
لاین ۲۶ فکر میکنم کامل اشتباه باشه . کسی نیست کمک کنه؟


public string GetContactByCardNumber(int cardNumber)
{
var commandText =
"SELECT Name,Family,MeliNumber,City,History,CardLevel,Sex, DateRegister FROM Contacts WHERE CardNumber = " +
cardNumber;
var serializer = new JavaScriptSerializer();


var connection = new SqlConnection(connStr);
var command = new SqlCommand(commandText, connection);


connection.Open();
var dataReader = command.ExecuteReader();
var contactList = new Dictionary<string, string>();
if (dataReader.Read())
{
for (var i = 0; i < dataReader.FieldCount; i++)
{
contactList.Add(dataReader.GetName(i), dataReader.GetValue(i).ToString());
}
}
connection.Close();


return serializer.Serialize(contactList.ToString());
}