|
Hello All,
I am very much new to C# ...
I am trying to log in to website and download some information.
is it possible to do that using C# ??
Please suggest me some ideas
Thanking you,
Naveen HS.
|
|
|
|
|
Can you please elaborate more on your
question so that it is easier to answer it?
What you are trying to download and from
which site using csharp ?
HTH
Jinal Desai - LIVE
Experience is mother of sage....
|
|
|
|
|
Hi Jinal Desai,
Thanks for the response.
consider some some website www.somesite.com , that has login id & password, once we login it takes to information page, i am trying to download the content from the information page.
so can you please give some suggestions how to start with this work ??
|
|
|
|
|
Hi Naveen,
you can study WebClient class.
http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.80).aspx
|
|
|
|
|
you want the HttpWebRequest and HttpWebResponse classes, and the Credentials property. Use Google to get lots of examples.
|
|
|
|
|
I have the same problem to login to a website, therefore i have only a half answer.
I know 4 methods to download informations from a website.
1. System.NET.WebClient
This is a native Client class to download Data or the html string from a internet adress.
WebClient webClient = new WebClient();
webClientData = webClient.DownloadData(uri);
as far as i know it is possible to login to a website with this class, but i never have find out how.
2. System.Windows.Forms.WebBrowser
This is a internet explorer class for the framework. You can login to a website, because it uses the variables/cookies/etc. from the internet explorer.
3. System.NET.WebRequest
In this class it's possible to use POST and GET, this is needed to login to a website, but i don't know how to POST login informations, i only know how to donwload the data from a website.
byte[] buffer;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
System.IO.Stream s = resp.GetResponseStream();
4. TCP Socket
Yes, this protocol bases upon to TCP, you can connect to the website and communicate over the Hypertext Transfer Protocol with the website.
If you need more informations about the methods, you can use google.
I hope i could help you a bit and sorry for my bad english.
|
|
|
|
|
Hi.
please tell me my mistake in blow code,code not return any value.. please help
string query2 = "select sum(amount) Total from pur_inv_dtl where inv_id = '" + IdTxt.Text + "'";
SqlCommand cmd2 = new SqlCommand(query2, conn);
try
{
conn.Open();
SqlDataReader sdr = cmd2.ExecuteReader();
while (sdr.Read())
{
Gtotal.Text = sdr["Total"].ToString();
}
}
finally
{
conn.Close();
}
|
|
|
|
|
Not sure of all the types of the fields but try this
string query2 = "select sum(amount) AS Total from pur_inv_dtl where inv_id = '" + IdTxt.Text + "'";
|
|
|
|
|
While reading the value from textbox, Trim the blank spaces. That may cause some problem.
|
|
|
|
|
To add to the previous - don't do it that way anyway. Use parametrised queries as it gives better security agains SQL Injection Attacks. (See SqlCommand.AddWithValue)
Oh, and if you post a code fragment again, surround it with the "code block" widget to preserve teh formatting:
string query2 = "select sum(amount) Total from pur_inv_dtl where inv_id = '" + IdTxt.Text + "'";
SqlCommand cmd2 = new SqlCommand(query2, conn);
try
{
conn.Open();
SqlDataReader sdr = cmd2.ExecuteReader();
while (sdr.Read())
{
Gtotal.Text = sdr["Total"].ToString();
}
}
finally
{
conn.Close();
}
It makes things so much eaasier to read!
Did you know:
That by counting the rings on a tree trunk, you can tell how many other trees it has slept with.
|
|
|
|
|
Please learn how to post a question properly: with an informative subject line, with code snippets inside PRE tags, with variable declarations, etc.
You have several mistakes here:
- AS total
- the WHERE clause does not take quotes when the field is a number
And yes, using SqlParameter rather than command string concatenation is the preferred way to do things. Read up on "SQL injection attacks"
|
|
|
|
|
There are a few things that you need to look at here.
1. You are using a query (as others have pointed out) that is wide open to SQL Injection.
2. You don't dispose of your SqlCommand (try wrapping them it the using statement).
3. You are using the wrong method to read data (and I'm surprised nobody pointed this out to you). Basically you have opened up a DataReader to read a single value out of the database. This is overkill. Try replacing this with ExecuteScalar instead, which is designed to return single values.
4. In your finally block, you call conn.Close ; what happens if you didn't manage to open the connection in the first place?
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
i wanted to create a software for a server that can handle many client.. it is possible to handle the server all the client without a software for the client just like a log-in system that they can connect to the server?...... and it is possible to manage the server all the transaction with in the network?.... Someone can give me an idea or an open source code to solve my problem... PLSSS HELP ME... tnx...
|
|
|
|
|
nEar_mO wrote: i wanted to create a software for a server
What exactly do you want the software to do?
|
|
|
|
|
that can manage the transaction....
|
|
|
|
|
What you are trying to achieve is not possible at all.
C# is providing transaction management, but not in the
sense you are understanding.
What I understand from your question is, you want to develop
"SQl Server Management Studio" kind of functionality.
Although find following link useful for transaction management.
Microsoft .NET Framework 2.0 Transaction Management[^]
HTH
Jinal Desai - LIVE
Experience is mother of sage....
|
|
|
|
|
Howdy,
Thanks for looking into this.
I have a single form application.
The Main Form has a TableLayoutPanel.
When a user clicks a button on the main form, a UserControl is added to the controls in the TableLayoutPanel.
The UserControl has a button on it.
What I'd like to happen:
When the button on the UserControl is clicked, I want the Main Form to perform a method.
How do I get the Main Form to listen to an event on a Button on the UserControl?
Note: I need to see some code in the answer. I've read about delegates and such, but I'm not getting something. If I see it in code, I think I would understand.
Thanks in advance
Jess
|
|
|
|
|
There are a number of ways to do this. The easiest way is to create a custom UserControl with a custom event.
public partial class MyUserControl : UserControl
{
public event EventHandler TheButtonWasClick;
public MyUserControl()
{
InitializeComponent();
button1.Click += new EventHandler(button1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
if (TheButtonWasClick != null)
TheButtonWasClick(this, EventArgs.Empty);
}
}
Now in your main form you wire up your custom UserControl...
public partial class MainForm : Form
{
private void mainFormButton_Click(object sender, EventArgs e)
{
MyUserControl myUserControl = new MyUserControl();
myUserControl.TheButtonWasClick += new EventHandler(myUserControl_TheButtonWasClick);
}
void myUserControl_TheButtonWasClick(object sender, EventArgs e)
{
}
}
Does this help you?
The mind is like a parachute. It doesn’t work unless it’s open.
|
|
|
|
|
This helps a lot, but I think I forgot to explain something.
The controls in the TableLayoutPanel are added at run time. How do I link the MainForm to each of the button click events for UserControls I'm adding at run time?
Also, I'm adding the UserControls to TableLayoutPanel.Controls, not the MainForm directly. Do I need to do something different in that case?
Just to make sure I've described it well:
0. The MainForm has a TableLayoutPanel with UserControls added to the TableLayoutPanel.Controls collection at run time.
1. I have a 'Save' button on any of the UserControls in the TableLayoutPanel.
2. I want the MainForm to run a method when 1. occurs.
Note: I don't mean to doubt your example. I'm just at a learning stage where I want to make sure I understand exactly what's going on.
|
|
|
|
|
JessStuart wrote: I'm just at a learning stage where I want to make sure I understand exactly what's going on.
Every programmer ought to stay in this stage! Don't be nervous. It's a pleasure to answer someone's question that has a genuine desire to learn.
I think I can explain the concept better if you'll post the code where your adding the user control to the TableLayoutPanel.
I'll modify it and show you how it works.
Cheers!
Richard
The mind is like a parachute. It doesn’t work unless it’s open.
|
|
|
|
|
Thanks for the encouragement.
Here's how I solved it, based on your example:
Relavant Main Form Code:
private void btnAddQuery_Click(object sender, EventArgs e)
{
SQLXmlInterface newSxi = new SQLXmlInterface();
newSxi.SaveButtonClicked += new System.EventHandler(SQLXmlInteface_SaveButtonHandler);
sqlInterfaces.Add(newSxi);
tlpQueries.Controls.Clear();
foreach (SQLXmlInterface sxi in sqlInterfaces)
{
sxi.Refresh();
tlpQueries.Controls.Add(sxi);
}
RefreshControls();
}
private void SQLXmlInteface_SaveButtonHandler(object sender, EventArgs e)
{
RefreshControls();
}
Here's the relevant Dynamically Added Child Control Code:
public partial class SQLXmlInterface : UserControl
{
SQLXmlObject sqlObject;
bool saved = false;
bool validated = true;
public event EventHandler SaveButtonClicked;
private void btnSave_Click(object sender, EventArgs e)
{
saved = true;
sqlObject = new SQLXmlObject(txtTitle.Text, txtQuery.Text);
RefreshControls();
if (SaveButtonClicked != null)
SaveButtonClicked(this, EventArgs.Empty);
}
}
Synopsis (please correct if I've got it wrong):
The Main Form "listens" to the child control by the EventHandler assigned to the newSxi.SaveButtonClicked event.
The child object btnSave_Click event triggers (just calls, really) the SaveButtonClicked event.
Since the Main Form has the EventHandler defined for the SaveButtonClicked event, when the SaveButtonClicked event occurs, the EventHandler for the Main Form runs the SQLXmlInteface_SaveButtonHandler method, which was assigned to it in this code from the Main Form:
newSxi.SaveButtonClicked += new System.EventHandler(SQLXmlInteface_SaveButtonHandler);
|
|
|
|
|
A+ my friend! Events are not the easiest thing to wrap your brain around.
BTW, I might add that it's really not proper to include the text "Interface" in an object. (There is an actual .Net object called an interface)
The subject of an interface is entirely for another time but it is a very helpful tool.
I would suggest: "SQLXmlEditor" or "SQLXmlViewer" depending on it's functionality.
The mind is like a parachute. It doesn’t work unless it’s open.
|
|
|
|
|
Hi,
Does anyone know of a convenient way to play mp3 files without using windows media player component??
Many thanks
|
|
|
|
|
|
Thanks mate! Looks good..
|
|
|
|