|
|
Hello,
I've got a table orders with 3 fields:
- date
- productid
- amount
productid & amount are values seperated by commas, f.e.: productid = 1,2 amount = 3,4 (which means there are 3 products "1" and 4 products "2").
Now, I want to select a field by date and get the value of productid & amount and put them in an array (or arraylist?).
Than, I want to fill a datagridview with again 2 colums (amount & productid) with that data.
So for the example the datagridview should look like:
3 1
4 2
This is what I wrote:
<br />
bill.Rows.Clear();<br />
SqlCommand myCommand = new SqlCommand("SELECT * FROM orders WHERE date = @date", connect);<br />
myCommand.Parameters.AddWithValue("@date", DateTime.Parse(listOrders.Text.ToString().Substring(0, 19)));<br />
SqlDataReader myReader = myCommand.ExecuteReader();<br />
while (myReader.Read())<br />
{<br />
amounts = myReader["amount"].ToString();<br />
products = myReader["productid"].ToString();<br />
}<br />
myReader.Close();<br />
<br />
string[] product = new string[products.Split(' ').Length];<br />
string[] amount = new string[amounts.Split(' ').Length];<br />
<br />
product = products.Split(' ');<br />
amount = amounts.Split(' ');<br />
<br />
for (int i = 0; i <= product.Length; i++)<br />
{<br />
bill.Rows.Add(amount[i], product[i], 1, 2);<br />
}<br />
But I always get an error near the product = products.Split ..
System.NullReferenceException was unhandled<br />
Message="Object reference not set to an instance of an object."
I don't really think the code is 100% ok, but can somebody help?
Thanks!
|
|
|
|
|
JelleM wrote: I don't really think the code is 100% ok, but can somebody help?
I've annotated your code with what it is doing.
bill.Rows.Clear();
SqlCommand myCommand = new SqlCommand("SELECT * FROM orders WHERE date = @date", connect);
myCommand.Parameters.AddWithValue("@date", DateTime.Parse(listOrders.Text.ToString().Substring(0, 19)));
SqlDataReader myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
amounts = myReader["amount"].ToString();
products = myReader["productid"].ToString();
}
myReader.Close();
string[] product = new string[products.Split(' ').Length];
string[] amount = new string[amounts.Split(' ').Length];
product = products.Split(' ');
amount = amounts.Split(' ');
for (int i = 0; i <= product.Length; i++)
{
bill.Rows.Add(amount[i], product[i], 1, 2);
}
Does this help you see what your code is doing?
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
--Charles Babbage (1791-1871)
My: Website | Blog
|
|
|
|
|
Yes, thank you!
|
|
|
|
|
I have problem with the data.
From my main window I click other form is opened and I want to type in some data like alarm time, but I have problem with display it in my main window.
I want display it in my label but i don't how to get to that label,and other variables in my main window from my second form??
-- modified at 9:55 Saturday 27th May, 2006
examle I have somethin like this
public partial class Form1 : Form
{
public int a, b, c;
public Form1()
{
InitializeComponent();
}
and I want to acces the a,b,c prameters from my form2.
|
|
|
|
|
Ok so what you would do is hand these variables to the constructor of your second form:
Ex.
public partial class Form2 : Form
{
public int d, e, f;
public Form2(int a, int b, int c)
{
d = a;
e = b;
f = c;
InitializeComponent();
}
...
public partial class Form1 : Form
{
public int a, b, c;
public Form1()
{
InitializeComponent();
}
something_OnClick()
{
Form2 frm2 = new Form2(a, b, c);
frm2.ShowDialog();
}
|
|
|
|
|
Maybe it's works, but I still don't know how to do this.
|
|
|
|
|
What dont you understand?
|
|
|
|
|
I don't know how it works.
Itried to do it as you wrote, but it doesn't work.
mariuszfryta
|
|
|
|
|
In my application I have one main window adn the second appears when I want to type in some data, then I click on the my bytton and I want to close that form.
How can I do it?.
I have tried the Application.Exit(); command but it close all windows.
Mariuszfryta
|
|
|
|
|
|
|
Instead of Application.Exit call the Close method of your Form inside the click event handler of your button.
Another way would be setting the DialogResult property of your button to something else than None. This way you don't even need the click event handler.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook
www.troschuetz.de
|
|
|
|
|
Which class do I use to change a file's line ending?
In Visual Studio, advanced save options, there is 'Line Endings' selection:Windows(CR LF), Macintosh.. and etc.
Can anyone please help me?
|
|
|
|
|
In what manner do you want to change the linebreaks in the file? Do you want to load the file and save it with a different type of linebreaks?
---
b { font-weight: normal; }
|
|
|
|
|
Yes, like in Visual Studio advanced save options, I would like user to choose different type of line break and save the file.
|
|
|
|
|
Just read the contents of the file into a string, replace the linebreaks using the Replace method, and write the string to a file.
---
b { font-weight: normal; }
|
|
|
|
|
How can i get the text entered in the editable portion of the combobox in C#?
|
|
|
|
|
The Text property :
private void comboBox1_TextChanged(object sender, EventArgs e)
{
ComboBox c = (ComboBox)sender;
label1.Text = c.Text;
}
------------------------------ "The Soapbox has been so ..."
|
|
|
|
|
I know how to get the current time but,
After I giv the alarm time,
I don't know how to check if the time of alarm has come,I tried in while loop
but the application crashed.
And one more thing, how can I do that the time is displaying in label1 on my
window.
Mariuszfryta
|
|
|
|
|
What about a Timer ?
Displaying the time should be something like label.Text = DateTime.Now.ToString("HH:mm:ss");
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Thaks, but I know how to display it to label but i don't know how to display always the current time in label. How can i do this, and how can i check if the current time equal the alarm time. And what you mean by 'Timer'??
PS I think that is my main problem.
-- modified at 7:52 Saturday 27th May, 2006
|
|
|
|
|
You need to learn how the Timer class works, especially in C#.
Here is one article you should read to get the basic understandings: click
To display the current time you just need a timer with an interval of 1000ms (i.e. one second).
In its callback you just do the Label.text = ...
For an alarm it's better to calculate the difference between the alarm time and the current time.
C# provides a class named TimeSpan to calculate the difference. You can use the values of this class to set the proper interval for your timer object.
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Thanks. It works !;)
mariuszfryta
|
|
|
|
|
Read And Execute a bunch of .Sql file using C#
|
|
|
|