|
Let's say I have in index.aspx.cs Page_load():
int id=1;
And I have a gridview populated by MS SQL, and I have the following selectcommand:
SelectCommand="SELECT * FROM [Filmes] WHERE [ID_Users]=' id '"
I need to use that variable that way.
Is it possible? What is the correct syntax? I tried many ways but cant do it. Really appreciate your help.
|
|
|
|
|
The syntax you are after is this:
SelectCommand="SELECT * FROM [Filmes] WHERE [ID_Users]= " & id
However, I would strongly recommend you use a stored procedure rather than SQL embedded in your code.
|
|
|
|
|
One step at the time
|
|
|
|
|
You have been given this advise before. Time to take heed. If you want to learn how to code, learn it right.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Maxdd 7 wrote: One step at the time
You say that and yet you post asking about every topic under the sun, without ever taking the time to properly learn anyting, or consider any of the good advice you are given
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Well,
Those are two different questions.
Maybe I should read some things first, that is one mistake and I assume.
Regarding the good advice I received, I consider them. I just no apply them for now, because I believe I should not try drive a truck, when I dont know how to drive a car.
|
|
|
|
|
That's the point you are missing, you are trying to taught how to ride a bike before you get near the car.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
I know you are right I'm just trying to make you understand my point of view.
Until some days ago, I never coded a line of C# and used ASP.NET controls. I dont have a book (or e-book) or anyone I know who could teach me. The few I learn, was throught google, and even by google it could be difficult find the information I need. There are so many things of ASP.NET (I never imagined!), and then exists .NET 1.1, 2.0, 3.0 (...) VB.NET, older versions, near versions (...) Sometimes it could be difficult start coding in this conditions, because I dont know where to stand, where to look.
But ok, from now on, I will try to follow your advices, and just post questions (if necessary) about it.
My apologies for any incovenience.
|
|
|
|
|
Maxdd 7 wrote: Until some days ago, I never coded a line of C# and used ASP.NET controls.
Which means you're an idiot for trying ASP.NET at all. You need good C# first.
Maxdd 7 wrote: I dont have a book
If you can't buy one, then at least recognise what the right sequence is. I taught myself and I started with C++, then learned MFC. No-one told me that, it was common sense.
Maxdd 7 wrote: . The few I learn, was throught google, and even by google it could be difficult find the information I need.
99% of the questions asked here, it's trivial to get answers with google. The problem is you're trying to ask complex questions, before knowing the answers to the easy ones.
Maxdd 7 wrote: There are so many things of ASP.NET (I never imagined!), and then exists .NET 1.1, 2.0, 3.0 (...) VB.NET, older versions, near versions (...) Sometimes it could be difficult start coding in this conditions, because I dont know where to stand, where to look.
C#. Ignore VB.NET. Learn basic C#, preferably writing console apps. Then you could progress to web pages, perhaps. Don't even try to learn SQL before you know C# really well. Don't even think of ASP.NET before you learn the language that drives it.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Maxdd 7 wrote: I just no apply them for now, because I believe I should not try drive a truck, when I dont know how to drive a car.
Your problem is that you choose to drive the truck instead of starting with the damn car.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Hi!
I am trying to seperate my PL, BLL and DAL. I have managed successfully bind data to datalist via arraylist. Earlier, I was just doing direct calls to database for pagination using dataset and dataadapter. Since I am binding datalist via arraylist pagination seems bit complicated. below is my code. could someone please help?
public void ProductList()
{
List<product> products = new List<product>();
if (!Page.IsPostBack)
{
products = myBLL.Getproducts(Session["CountryName"], Session["City"], Session["AdType"]);
lblRecordCount.Text = products.Count.ToString();
products = null;
List<product> products = new List<product>();
}
sqlDataAdapt.Fill(dsProduct, Convert.ToInt32(lblCurrentIndex.Text), Convert.ToInt32(lblPageSize.Text), "product");
dlproductList.DataSource = dsproduct.Tables["product"].DefaultView;
dlproductList.DataBind();
sqlConn.Close();
ShowCounts();
}
public void ShowFirstPage(System.Object s, System.EventArgs e)
{
lblCurrentIndex.Text = "0";
productList();
}
public void ShowPreviousPage(System.Object s, System.EventArgs e)
{
lblCurrentIndex.Text = Convert.ToString(Convert.ToInt32(lblCurrentIndex.Text) - Convert.ToInt32(lblPageSize.Text));
if (Convert.ToInt32(lblCurrentIndex.Text) < 0)
{
lblCurrentIndex.Text = "0";
}
productList();
}
public void ShowNextPage(System.Object s, System.EventArgs e)
{
if ((int)Convert.ToInt32(lblCurrentIndex.Text) + Convert.ToInt32(lblPageSize.Text) < Convert.ToInt32(lblRecordCount.Text))
{
lblCurrentIndex.Text = Convert.ToString(Convert.ToInt32(lblCurrentIndex.Text) + Convert.ToInt32(lblPageSize.Text));
}
productList();
}
public void ShowLastPage(System.Object s, System.EventArgs e)
{
int intMod = 0;
intMod = Convert.ToInt32(lblRecordCount.Text) % Convert.ToInt32(lblPageSize.Text);
if (intMod > 0)
{
lblCurrentIndex.Text = Convert.ToString(Convert.ToInt32(lblRecordCount.Text) - intMod);
}
else
{
lblCurrentIndex.Text = Convert.ToString(Convert.ToInt32(lblRecordCount.Text) - Convert.ToInt32(lblPageSize.Text));
}
productList();
}
private void ShowCounts()
{
lblCounts.Text = "|Total Rows: <b>" + lblRecordCount.Text;
lblCounts.Text += "</b> | Page:<b> ";
lblCounts.Text += Convert.ToString(Convert.ToInt32(Convert.ToInt32(lblCurrentIndex.Text) / Convert.ToInt32(lblPageSize.Text)) + 1);
lblCounts.Text += "</b> of <b>";
if ((Convert.ToInt32(lblRecordCount.Text) % Convert.ToInt32(lblPageSize.Text)) > 0)
{
lblCounts.Text += Convert.ToString((Convert.ToInt32(lblRecordCount.Text) / Convert.ToInt32(lblPageSize.Text) + 1));
}
else
{
lblCounts.Text += Convert.ToString(Convert.ToInt32(lblRecordCount.Text) / Convert.ToInt32(lblPageSize.Text));
}
lblCounts.Text += "</b> |";
}
modified on Monday, November 16, 2009 12:05 AM
|
|
|
|
|
Dont you think using PagedDataSource can make life easier for you in this regard (Of course if you want to do this manually not using DataPager)
|
|
|
|
|
Hi! but i would like to show something like
Total count: X and Page 1 of 7
how do I get above done using pagedatasource class as i have only seen previous next button only
thank you for your help!
|
|
|
|
|
Yes you will get the CurrentPageIndex , CountofPages , Nos of items in a single page etc from the object.
Use
PageSize = No of rows each page will contain (You need to set this)
PageCount = No of Pages.
CurrentPageIndex = Page that is called for.
etc.
uglyeyes wrote: Total count: X and Page 1 of 7
Hey, if this is what you require, why do you need to build a custom html using PageDataSource , rather use DataPager control. It is easier to build these using <asp:DataPager
Check this :
http://msdn.microsoft.com/en-us/library/cc295263(Expression.30).aspx[^]
|
|
|
|
|
Please use the pre tags when posting code.
Most people here will ignore the post if it isn't properly formatted.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
My users table is that:
CREATE TABLE Users(
ID_Users INT IDENTITY(1,1),
Username VARCHAR(30) UNIQUE,
Password VARCHAR(100) DEFAULT 'password',
Nivel tinyint DEFAULT '3',
PRIMARY KEY(ID_Users));
When users give username and password executes the following code:
string sqlUserName;
sqlUserName = "SELECT ID_Users, Username,Password,Nivel FROM Users ";
sqlUserName += " WHERE (Username ='" + UserName + "')";
sqlUserName += " AND (Password ='" + Password + "')";
SqlCommand com = new SqlCommand(sqlUserName, Conn);
string existe;
existe = (string)com.ExecuteScalar();
if (existe != null)
(...)
The problem is, I added five minutes ago "SELECT ID_Users". Now I have the error: "unable to cast int32 to string".
I dont understand, because I use sucessfuly tinyint and there is no problem. Ok, its not a int32, but in the end its not the same thing? What should I do ?
EDIT: looks like if I do:
object existe;
existe = com.ExecuteScalar();
There's no error. Can I use it with no problem's ?
|
|
|
|
|
To make you understand, I guess ExecuteScalar executes a query and returns only the first column of the first row. All others are just ignored. So why do you select them ??
Anyways, ExecuteScalar returns an object. So you might use
string existe = com.ExecuteScalar().ToString();
But let me remind you, if there is no row selected, this line will through an error. So rather check the object first.
object result = com.ExecuteScalar();
if(result != null)
string existe = result.ToString();
Hope this is fine. Or you can also check Count(*) to determine if anyone is selected or not in the query.
|
|
|
|
|
Why are you trying to use a string as a boolean?
The more acceptable way to handle this would...
SELECT CASE COUNT(*) WHEN 0 THEN 0 ELSE 1 END
FROM Users WHERE Username...
return Convert.ToBoolean(cmd.ExecuteScalar());
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Check the last line.. I think I have already mentioned that.. .
I think the author wants to use the UserID or the data that is selected. So he wrote like this.
|
|
|
|
|
Abhishek Sur wrote: So he wrote like this
This doesn't lessen our responsibility to also point out misunderstandings and mistakes in usage and give guidance on more correct ways of implementation.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Because I also use SqlDataReader
I will use object, I think in this case is the best choice for me
Many thanks for all your help!
|
|
|
|
|
Maxdd 7 wrote: Many thanks for all your help!
You are most welcome bro...
Cheers.
|
|
|
|
|
Maxdd 7 wrote: Because I also use SqlDataReader
That has nothing to do with it. DataReader provides methods such as GetString, GetInt, GetBoolean. Learning to use the tools properly will be a great benefit to you in the future.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
I was just answering to this question:
"
To make you understand, I guess ExecuteScalar executes a query and returns only the first column of the first row. All others are just ignored. So why do you select them ?? "
I use SqlData reader (I erased those lines on first post here) so I can extract those values.
|
|
|
|
|
See other reply for a more acceptable way to handle this.
Also, you should be strongly encouraged to not use inline SQL or at the very least use a parameterized query. Search Google for SQL Injection attack.
I know the language. I've read a book. - _Madmatt
|
|
|
|