PDA

View Full Version : خواندن داده از SQL



hosseinhey
جمعه 12 تیر 1388, 14:31 عصر
سلام
یه مشکل دارم میخواستم ببینم علتش چیه؟
من می خوام با وارد کردن شماره ملی بقیه اطلاعات ورد توی دیتا بیس نمایش داده بشه اما وقتی که دکمه جستجو را کلیک می کنم هیچی به من نشان داده نمیشه . البته بگم که من تازه شروع به کد نویسی کردم پس اگه خیلی ضایع کد نویسی کردم ببخشید در ضمن کدهام هم هیچ خطایی ندارن. میشه راهنماییم کنید ممنون :اشتباه:


Stored procedure:

ALTER PROCEDURE SearchNationalNumber

/*

(

@parameter1 int = 5,

@parameter2 datatype OUTPUT

)

*/

@nationalnumber nchar(10)

AS

/* SET NOCOUNT ON */

select *

from avarez

where [شماره ملی] = '@nationalnumber';

RETURN




C# code:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Web.Configuration;

using System.Data.SqlClient;



public partial class admin_mali_avarez : System.Web.UI.Page

{

private string connectionstring = WebConfigurationManager.ConnectionStrings["shahrdariConnectionString"].ConnectionString;

protected void Page_Load(object sender, EventArgs e)

{



}

protected void Button1_Click(object sender, EventArgs e)

{

SqlConnection con = new SqlConnection(connectionstring);

SqlCommand cmd = new SqlCommand();

SqlDataReader dr;

cmd.Connection = con;

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "SearchNationalNumber";

cmd.Parameters.AddWithValue("@nationalnumber", TextBox1.Text);

con.Open();

dr = cmd.ExecuteReader();

if (dr.Read())

{

this.Textfname.Text = dr.GetValue(0).ToString();

this.Textlname.Text = dr.GetValue(1).ToString();

this.Textnational.Text = dr.GetValue(2).ToString();

this.Textcar.Text = dr.GetValue(3).ToString();

this.Textmodel.Text = dr.GetValue(4).ToString();

this.Textpelak.Text = dr.GetValue(5).ToString();

this.Textsilandr.Text = dr.GetValue(6).ToString();

this.Textengine.Text = dr.GetValue(7).ToString();

this.Textyear.Text = dr.GetValue(8).ToString();

this.Textaccount.Text = dr.GetValue(9).ToString();

}

dr.Close();

con.Close();



}

}

Yasersadegh
جمعه 12 تیر 1388, 14:44 عصر
دوست عزيز شما اول كداتون رو در داخل تگ code قرار بديد كه كداتون خوانا باشن!!:چشمک:

mojtaba1363
شنبه 13 تیر 1388, 01:32 صبح
[quote=hosseinhey;749833]سلام
یه مشکل دارم میخواستم ببینم علتش چیه؟
من می خوام با وارد کردن شماره ملی بقیه اطلاعات ورد توی دیتا بیس نمایش داده بشه اما وقتی که دکمه جستجو را کلیک می کنم هیچی به من نشان داده نمیشه . البته بگم که من تازه شروع به کد نویسی کردم پس اگه خیلی ضایع کد نویسی کردم ببخشید در ضمن کدهام هم هیچ خطایی ندارن. میشه راهنماییم کنید ممنون :اشتباه:





Stored procedure:


ALTER PROCEDURE SearchNationalNumber


/*


(


@parameter1 int = 5,


@parameter2 datatype OUTPUT


)


*/


@nationalnumber nchar(10)


AS


/* SET NOCOUNT ON */


select *


from avarez


where [شمارهملی] = '@nationalnumber';


RETURN





C# code:


using System;


using System.Data;


using System.Configuration;


using System.Collections;


using System.Web;


using System.Web.Security;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.WebControls.WebParts;


using System.Web.UI.HtmlControls;


using System.Web.Configuration;


using System.Data.SqlClient;



public partial class admin_mali_avarez : System.Web.UI.Page


{


private string connectionstring = WebConfigurationManager.ConnectionStrings["shahrdariConnectionString"].ConnectionString;


protected void Page_Load(object sender, EventArgs e)


{



}


protected void Button1_Click(object sender, EventArgs e)


{


SqlConnection con = new SqlConnection(connectionstring);


SqlCommand cmd = new SqlCommand();


SqlDataReader dr;


cmd.Connection = con;


cmd.CommandType = CommandType.StoredProcedure;


cmd.CommandText = "SearchNationalNumber";


cmd.Parameters.AddWithValue("@nationalnumber", TextBox1.Text);


con.Open();


dr = cmd.ExecuteReader();


if (dr.Read())


{


this.Textfname.Text = dr.GetValue(0).ToString();


this.Textlname.Text = dr.GetValue(1).ToString();


this.Textnational.Text = dr.GetValue(2).ToString();


this.Textcar.Text = dr.GetValue(3).ToString();


this.Textmodel.Text = dr.GetValue(4).ToString();


this.Textpelak.Text = dr.GetValue(5).ToString();


this.Textsilandr.Text = dr.GetValue(6).ToString();


this.Textengine.Text = dr.GetValue(7).ToString();


this.Textyear.Text = dr.GetValue(8).ToString();


this.Textaccount.Text = dr.GetValue(9).ToString();


}


dr.Close();


con.Close();



}


}

hosseinhey
شنبه 13 تیر 1388, 13:41 عصر
دوست عزيز شما اول كداتون رو در داخل تگ code قرار بديد كه كداتون خوانا باشن!!:چشمک:
دوست خوبم از راهنماییتون ممنونم اما با عرض پوزش من ، بلد نیستم! :افسرده: میشه راهنماییم کنید تگ کد کجاست؟ و بعدش هم در مورد کدهام رانماییم کنید:لبخندساده:

alihassanabadi
شنبه 13 تیر 1388, 16:58 عصر
سلام
وقتی میخوای مطلبی رو بنویسی میتونی از تگ کد هم استفاده کنی با استفاده از علامت نامبر ساینی # که میبینی


کد مورد نظر
[CODE/]
و اما پاسخ من
به نظر من نمیخاد sql رو با کد باز کنی در ضمن از ExecuteNonQuery هم استفاده نکن .
یعنی con.open() رو ننویس با این کد هم دستور مورد نظر اجرا میشه و هم sql رو باز میکنه
مثل
[code]
SqlDataAdapter adapter2 = new SqlDataAdapter("select *from [tblname", "Data Source=(local);Initial Catalog=databasename;Integrated Security=True");
DataSet dataset1 = new DataSet();
adapter2.Fill(dataset1, "tblname");
BindingSource bs = new BindingSource(dataset1, "tblname");
dataGridView1.DataSource = bs;


حالا میتونی به جای دستوری که من نوشتم دستور مورد نظر خودت رو بنویسی که شرط هم داره
این کد باعث میشه که تمام اطلاعات در یک datagridview نمایش داده بشه
حالا اگه شما برای دستور select شرط بزارین همون رکورد مورد نظر نمایش داده میشه

کد زیر هم باعث میشه که فیلدهای رکورد سرچ شده داخل تکست باکس مورد نظر ریخته بشن
یعنی بیند کردن رکورد به تکست باکس


SqlDataAdapter adapter1 = newSqlDataAdapter("select *from tbl_main", connectionstring);
DataSet dataset1 = newDataSet();

adapter1.Fill(dataset1, "input");
BindingSource bs = newBindingSource(dataset1, "input") ;

this.txtname.DataBindings.Add(newBinding("Text", bs, "field name", true));


توجه کن که تو هر تکس یه فیلد رو بریزی
در کد بالا fildname :فیلد مورد نظر
txtname: تکست مورد نظر

سعادت دیگران بخش مهمی از خوشبختی ماست.