PDA

View Full Version : مبتدی: علت خطا در جستجو



h.rezaee
شنبه 26 اسفند 1391, 17:00 عصر
سلام. دوستان بنده کد های زیر رو برای جستجو از دیتابیس نوشتم ولی خطا داره!!!!!!!!!!!!

SqlConnection objconnection = new SqlConnection("Data Source=localhost;Initial Catalog=Fajr;Integrated Security=True");
DataSet das = new DataSet();
DataView objdataview = new DataView();
SqlCommand com = new SqlCommand();
SqlDataReader re;
int i;
listBox1.Items.Clear();

if (nametxt.Text == string.Empty & lnametxt.Text == string.Empty & fnametxt.Text == string.Empty)
{
MessageBox.Show("عبارت خود را وارد کنید.");
}
else
{

objconnection.Open();
com.Connection = objconnection;
com.CommandText = "Select name from dbo.maintbl where (name=@name) AND (lname=@lname) AND (fname=@fname)";
com.Parameters.AddWithValue("@name", nametxt.Text);
com.Parameters.AddWithValue("@lname", lnametxt.Text);
com.Parameters.AddWithValue("@fname", fnametxt.Text);
re = com.ExecuteReader();
if (re.Read())
{
re.Close();
SqlDataAdapter objdataadapter = new SqlDataAdapter("SELECT * FROM maintbl Where (name=@name) AND (lname=@lname) AND (fname=@fname)", objconnection);
objdataadapter.Fill(das, "maintbl");
i = objdataadapter.Fill(das, "maintbl");

for (int j = 0; j <= i - 1; j++)
{
DataRow dr = das.Tables["maintbl"].Rows[j];
listBox1.Items.Add(dr[2].ToString());
}

}
else
{
MessageBox.Show("عبارت مورد نظر وجود ندارد.");
}



}

این توضیحات رو هم بگم که می خوام اطلاعات رو از دیتابیس به وسیله نام ، نام خانوادگی و نام پدر شخص جستجو کنم و بعد اگر بود اون رو در لیست باکس ( البته فقط نامش رو ) نشون بدم.

h.rezaee
شنبه 26 اسفند 1391, 18:26 عصر
دوستان عزیز این مشکل حل شد!!!!!!!!!!!!!!
حالا میتونم متن رو تو لیست باکس نمایش بدم.
یه سوال ؟؟؟؟؟؟؟؟؟؟
الان من می یام نام و نام خانوادگی و نام پدر طرف رو تو این لیست باکس نمایش میدم حالا می خوام بدونم چه جوری میشه این ها رو از هم تفکیک کرد و تو متغیری ریخت. مثلا "حسین رضایی نام پدر : علی" رو داریم حالا می خوام "حسین" رو تو یه متغیر و "رضایی" رو تو یه متغیر و علی رو هم تو یه متغیر بریزم بعد بدم بره تو یه صفحه دیگه نشون بده؟؟؟؟؟؟؟؟؟؟

h.rezaee
شنبه 26 اسفند 1391, 18:39 عصر
بعد یه سوال دیگه الان می خوام این سرچ رو بر اساس شماره شناسنامه انجام بدم ولی نمیشه ؟؟؟؟؟؟؟؟ چرا؟؟؟؟؟؟؟؟؟/

h.rezaee
شنبه 26 اسفند 1391, 19:23 عصر
بعد یه سوال دیگه الان می خوام این سرچ رو بر اساس شماره شناسنامه انجام بدم ولی نمیشه ؟؟؟؟؟؟؟؟ چرا؟؟؟؟؟؟؟؟؟/
دوستان این مشکل حل شد یه سوتی داده بودم ناجور فقط همین سوال رو دارم که چه جوری اونا رو از هم جدا کنیم.

veniz2008
شنبه 26 اسفند 1391, 19:54 عصر
سلام.
آدم میاد تو این تاپیک شما سرش گیج میره. :متعجب: :گیج:
آخه تا آماده میشه جواب یه سوال رو بده، تو پست بعدی گفتید که مشکل حل شد :لبخند:
خوب ساده تر اینه که همونجا که از دیتابیس میخونی بریزیش داخل متغیر تا اینکه بریزی تو لیست باکس و بعد بخوای دوباره از لیست باکس بخونی و بریزی تو متغیر. (لقمه رو دور سرت داری میچرخونی).

h.rezaee
شنبه 26 اسفند 1391, 20:03 عصر
سلام.
خوب ساده تر اینه که همونجا که از دیتابیس میخونی بریزیش داخل متغیر تا اینکه بریزی تو لیست باکس و بعد بخوای دوباره از لیست باکس بخونی و بریزی تو متغیر. (لقمه رو دور سرت داری میچرخونی).
سلام ببخشید بابت این کار.
ولی می خوام اول به کاربر نشون بدم بعد کاربر با کلیک بر روی اون بتونه اطلاعات رو ببینه.

veniz2008
شنبه 26 اسفند 1391, 20:24 عصر
. ولی می خوام اول به کاربر نشون بدم بعد کاربر با کلیک بر روی اون بتونه اطلاعات رو ببینه.
فرض رو براین گرفتم که بین 3 آیتم وارد شده یه فاصله وجود داره (یعنی بین نام و فامیل و نام پدر مثل : "حسین رضایی علی" )

if (listBox1.SelectedItem != null)
{
string[] a = listBox1.Text.Split(' ');
MessageBox.Show(a[0] + " " + a[1] + " " + a[2]);
}