PDA

View Full Version : سلکت از دیتابیس و نمایش خروجی در label



alasht
دوشنبه 11 بهمن 1389, 18:07 عصر
با سلام خدمت دوستان
من یه برنامه ساختم با asp.net که یک گرید ویو و یک دکمه داره
تو رویداد کلیک button اینا رو نوشتم



protected void Button1_Click(object sender, EventArgs e)
{
string constr = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = test.mdb";
OleDbConnection Connect = new OleDbConnection(constr);
if (Connect.State == ConnectionState.Closed) Connect.Open();

string COMMANDTEXT = "Select * from mytable where id = 60";
OleDbDataAdapter DASelect = new OleDbDataAdapter(COMMANDTEXT, Connect);
DataSet DSSelect = new DataSet();
DASelect.Fill(DSSelect, "SELECT2");
GridView1.DataSource = DSSelect.Tables["SELECT2"];
GridView1.DataBind();
GridView1.Visible = true;
}
من از دیتابیسم محتویات id شماره 60 رو سلکت کردم که حاوی نام و نام خانوادگی هست
حالا چیکار کنم که نام و نام خانوادگی در یک label چاپ بشه ؟

mehdi-s
دوشنبه 11 بهمن 1389, 23:41 عصر
با سلام
lbl1 = convert.GridView1.Rows[i].Cell[60].Text;
موفق باشی

alasht
سه شنبه 12 بهمن 1389, 00:42 صبح
سلام
ممنون از راهنماییتون
اینطور که من از این کد فهمیدم شما از گراید ویو خروجی گرفتین
فرض کنید گراید ویو نداریم و مستقیم میخوایم از دیتا بیس سلکت کنیم ؟
در این حالت چیکار باید بکنیم ؟
با تشکر

mehrdad85
سه شنبه 12 بهمن 1389, 07:22 صبح
سلام
دوست عزیز مشکل کار کجاست؟
connection که داریم command هم که داریم
حالا داده های خروجی را بر حسب اینکه کجا و چطور قراراه نمایش داده بشن convert میکنیم
مثلا اگه قراره یه فیلد از نوع string از پایگاه select کنیم و اونو بع عن.ان خروجی در text یه label نشون بدیم کافیه اینکارو بکنیم و به همین ترتیب واسه موارد دیگه دستورات مختلف برای تبدیل نوع هستش


String str=commandName.ExecuteScalar().ToString();
labelName.text=str;
موفق باشی

alasht
سه شنبه 12 بهمن 1389, 16:08 عصر
سلام
من میخوام id در لیبل چاپ بشه
این commandName چیه
وقتی این کد رو میزارم تو برنامه ارور میده
commandName رو نمیشناسه

مهدی کرامتی
سه شنبه 12 بهمن 1389, 17:08 عصر
کد دکمه فوق رو به صورت زیر تغییر بده:

protected void Button1_Click(object sender, EventArgs e)
{
string constr = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = test.mdb";
OleDbConnection Connect = new OleDbConnection(constr);
if (Connect.State == ConnectionState.Closed) Connect.Open();

string COMMANDTEXT = "Select * from mytable where id = 60";
OleDbDataAdapter DASelect = new OleDbDataAdapter(COMMANDTEXT, Connect);
DataSet DSSelect = new DataSet();
DASelect.Fill(DSSelect, "SELECT2");
DataRow drData = DSSelect.Tables["SELECT2"].Rows[0];
Label1.Text = drData["FirstName"].ToString() + drData["LastName"].ToString();
}

alasht
سه شنبه 12 بهمن 1389, 18:26 عصر
با تشکر فراوان این کد درست عمل میکنه حالا یه مشکل هست چون من میخوام id از تکس باکس خونده بشه امکانش هست اشتباه وارد بشه که در این صورت برنامه ارور میده حالا اگر بخوام شرطی بنویسم که در صورت وجود id مورد نظر عملیات انجام بشه باید چیکار کنم یعنی اگر id وجود نداشت در لیبل یک پیام خطا مناسب چاپ یشه ؟

مهدی کرامتی
سه شنبه 12 بهمن 1389, 19:13 عصر
از یک CustomValidator برای TextBox مربوطه استفاده کنید. در رویداد ServerValidate کنترل فوق کدی مثل کد مثال اصلی تان بنویسید، و در نهایت:

args.IsValid = DSSelect.Tables["SELECT2"].Rows.Count != 0;
این طوری اگر رکوردی با ID مورد نظر وجود نداشته باشد Validator فوق یک پیام خطا نمایش خواهد داد.

alasht
سه شنبه 12 بهمن 1389, 20:40 عصر
سلام مجدد
شرمنده واقعا
نتونستم درستش کنم
هر کاری میکنم ارور میده
من کد رو به این صورت قرار دادم


protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args)
{
string constr = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + Server.MapPath("~\\App_Data\\test.mdb") + "";
OleDbConnection Connect = new OleDbConnection(constr);
if (Connect.State == ConnectionState.Closed) Connect.Open();
string COMMANDTEXT = "Select * from mytable where id = "+TextBox1.Text+"";
OleDbDataAdapter DASelect = new OleDbDataAdapter(COMMANDTEXT, Connect);
DataSet DSSelect = new DataSet();
DASelect.Fill(DSSelect, "SELECT2");
DataRow drData = DSSelect.Tables["SELECT2"].Rows[0];
Label2.Text = drData["name"].ToString() + drData["id"].ToString();
args.IsValid = DSSelect.Tables["SELECT2"].Rows.Count != 0;

}

مشکلش کجاس که ارور میده ؟

مهدی کرامتی
سه شنبه 12 بهمن 1389, 21:06 عصر
چه خطایی رو نشان میدهد؟

alasht
سه شنبه 12 بهمن 1389, 21:27 عصر
Server Error in '/aspproject2' Application.

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0103: The name 'args' does not exist in the current context

Source Error:


Line 94: DASelect.Fill(DSSelect, "SELECT2");
Line 95: DataRow drData = DSSelect.Tables["SELECT2"].Rows[0];
Line 96: args.IsValid = DSSelect.Tables["SELECT2"].Rows.Count != 0;
Line 97: Label2.Text = drData["name"].ToString() + drData["id"].ToString();
Line 98: //args.IsValid = DSSelect.Tables["SELECT2"].Rows.Count != 0;
Source File: c:\Users\javad\Desktop\projeasp\aspproject2\asppro ject2\Default.aspx.cs Line: 96


Show Detailed Compiler Output:

C:\Users\javad\Desktop\projeasp\aspproject2> "C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe" /t:library /utf8output /R:"C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5 c561934e089\System.dll" /R:"C:\Windows\assembly\GAC_32\System.Web\2.0.0.0__b03 f5f7f11d50a3a\System.Web.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Mobile\2.0 .0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.ServiceModel.W eb\3.5.0.0__31bf3856ad364e35\System.ServiceModel.W eb.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Configuration\ 2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.WorkflowServic es\3.5.0.0__31bf3856ad364e35\System.WorkflowServic es.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0. 0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.IdentityModel\ 3.0.0.0__b77a5c561934e089\System.IdentityModel.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0__ b77a5c561934e089\System.Core.dll" /R:"C:\Users\javad\AppData\Local\Temp\Temporary ASP.NET Files\aspproject2\c2b28e89\b606f61e\assembly\dl3\a 5528bda\00f9614e_3c7fcb01\Telerik.Web.UI.DLL" /R:"C:\Windows\Microsoft.NET\Framework\v2.0.50727\msco rlib.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Data.DataSetEx tensions\3.5.0.0__b77a5c561934e089\System.Data.Dat aSetExtensions.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Services\2 .0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Runtime.Serial ization\3.0.0.0__b77a5c561934e089\System.Runtime.S erialization.dll" /R:"C:\Windows\assembly\GAC_32\System.EnterpriseServic es\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServ ices.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.ServiceModel\3 .0.0.0__b77a5c561934e089\System.ServiceModel.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b 77a5c561934e089\System.Xml.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Extensions \3.5.0.0__31bf3856ad364e35\System.Web.Extensions.d ll" /R:"C:\Windows\assembly\GAC_MSIL\System.Xml.Linq\3.5.0 .0__b77a5c561934e089\System.Xml.Linq.dll" /R:"C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b7 7a5c561934e089\System.Data.dll" /out:"C:\Users\javad\AppData\Local\Temp\Temporary ASP.NET Files\aspproject2\c2b28e89\b606f61e\App_Web_e3ciez zx.dll" /debug- /optimize+ /win32res:"C:\Users\javad\AppData\Local\Temp\Temporary ASP.NET Files\aspproject2\c2b28e89\b606f61e\e3ciezzx.res" /w:4 /nowarn:1659;1699;1701 /warnaserror- "C:\Users\javad\AppData\Local\Temp\Temporary ASP.NET Files\aspproject2\c2b28e89\b606f61e\App_Web_e3ciez zx.0.cs" "C:\Users\javad\AppData\Local\Temp\Temporary ASP.NET Files\aspproject2\c2b28e89\b606f61e\App_Web_e3ciez zx.1.cs" "C:\Users\javad\AppData\Local\Temp\Temporary ASP.NET Files\aspproject2\c2b28e89\b606f61e\App_Web_e3ciez zx.2.cs" Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.4926 for Microsoft (R) .NET Framework version 3.5 Copyright (C) Microsoft Corporation. All rights reserved. c:\Users\javad\Desktop\projeasp\aspproject2\asppro ject2\Default.aspx.cs(96,9): error CS0103: The name 'args' does not exist in the current context


Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927

مهدی کرامتی
چهارشنبه 13 بهمن 1389, 07:31 صبح
به نظر میاد شما args.IsValid رو در جایی خارج از رویداد ServerValidate کنترل Custom Validator بکار برده اید.