|
okey
|
|
|
|
|
That doesn't work, because liste does not have any elements, so trying to assign them with
liste[i] = dgv1.Rows[i].Cells[0].Value.ToString(); will give you an error.
Try this instead:
private void btnSend_Click(object sender, EventArgs e)
{
int i;
List<string> liste = new List<string>();
SendMail s = new SendMail();
s.MdiParent = this;
foreach (DataGridViewRow row in dgv1.Rows)
{
liste.Add(row.Cells[0].Value.ToString());
}
s.remplirCombo(liste);
s.Show();
} (Because you don't care about the row number, I would use a foreach loop instead of the for - it's just a bit clearer to read)
[edit]Typo: "lop" instead of "loop", "teh" instead of "the" - OriginalGriff[/edit]
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
OriginalGriff wrote: because liste does not have any elements, Note to self: don't answer posts before caffeinating.
/ravi
|
|
|
|
|
Took me a while to work out what you meant there - I didn't spot that we have both answered the question...
Yes, I find a large injection is mandatory before my little grey cells begin to mesh with any form of efficiency either!
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
thank you, but it generates an exception: Object reference not set to an instance of an object.
|
|
|
|
|
Where? Which line?
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
liste.Add(row.Cells[0].Value.ToString());
|
|
|
|
|
Which means that either:
1) You missed the line saying:
List<string> liste = new List<string>();
So liste is null.
2) There is no value in the row - which means that it has probably come from a database as DBNull and been translated as null.
Try an experiment:
foreach (DataGridViewRow row in dgv1.Rows)
{
DataGridViewCell cell = row.Cells[0];
if (cell != null)
{
object o = cell.Value;
if (o != null)
{
liste.Add(o.ToString());
}
else
{
Message.Show("Null in cell.Value");
}
}
else
{
MessageBox.Show("Null in cell");
}
}
Or look in the debugger and see which of them is null.
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
No, I already instantiate the list, ok I want to try it, thank you
|
|
|
|
|
"Null in cell"
I retrieve data from datagrid via an exel file!
|
|
|
|
|
So you need to check for it and provide a default, or not add it to the list. Or find out why some of your values are blank!
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
anyway thank you
|
|
|
|
|
You're welcome!
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
hello guys... I am trying to write this simple service using this tutorial.
<a href="http://msdn.microsoft.com/en-us/library/aa984464(v=vs.71).aspx">MSDN Tutorial</a>.
To the best of my knowledge, i am doing exactly the same as the tutorial suggests. But still it does not insert the record in the SQL SERVER. The problem is, it does not give an error as well, thats why dont know what to do.
I have tested this insertion operation with another simple Windows Forms application and it works absolutely fine.
What can be the problem? thnx for any pointers.
|
|
|
|
|
We would have to see your code.
|
|
|
|
|
Here you are...
<pre lang="c#">
protected override void OnStart(string[] args)
{
InsertRec();
}
protected override void OnStop()
{
UpdateRec();
}
private void InsertRec()
{
string name = "abc";
string address = "abc";
string className = "abc";
string phone = "123456";
SqlConnection connection = new SqlConnection("Data Source=MUZE-PC\\SQLEXPRESS; Initial Catalog=StudentDB; Integrated Security=SSPI");
SqlCommand command = new SqlCommand("InsertStudent", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@Name", SqlDbType.NVarChar).Value = name;
command.Parameters.Add("@Address", SqlDbType.NVarChar).Value = address;
command.Parameters.Add("@Class", SqlDbType.NVarChar).Value = className;
command.Parameters.Add("@Phone", SqlDbType.NVarChar).Value = phone;
try
{
connection.Open();
int res = command.ExecuteNonQuery();
}
catch (Exception ex)
{ connection.Close();}
finally
{ connection.Close(); }
}
private void UpdateAttendence()
{
int ID = 1;
string machineName = "Ali";
SqlConnection connection = new SqlConnection("Data Source=MUZE-PC\\SQLEXPRESS; Initial Catalog=StudentDB; Integrated Security=SSPI");
SqlCommand command = new SqlCommand("UpdateStudent", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@StudentID", SqlDbType.Int).Value = ID;;
command.Parameters.Add("@Name ", SqlDbType.NVarChar).Value = name;
try
{
connection.Open();
int res = command.ExecuteNonQuery();
}
catch (Exception ex)
{ connection.Close(); }
finally
{ connection.Close(); }
}
</pre>
|
|
|
|
|
It doesn't work because you're using a connection string that uses the current credentials to login to SQL Server. That only works IF:
1) Windows Authentication is turned on in SQL Server.
2) The code is running under an account that the SQL Server trusts.
Your problem is your service is running under LocalSystem by default, which SQL Server does NOT trust.
There are 2 solutions to this. The first is to create a user in SQL Server and assign it's permissions properly to access the database in questions, then modify the connection string in your code to use the account and NOT use Integrated Security.
The second is to change the account that your service is running under, to something like YOUR account. Start->Run->Services.msc. Find your service, then right-click on it and click Properties. Click the LogOn tab and it should be pretty obvious from there.
In the future, you might want to learn WHY those things are listed in the connection string and figure out what each option does.
|
|
|
|
|
hai everyone ,
My problem is i have a employee code like EMPLOYEE
i would like to change this to EMPLOYEE000001,EMPLOYEE000002 this format.
How can i do this? with c# please help me
Arunkumar
Arunkumar
|
|
|
|
|
You can use the Format[^] method like:
uint EmployeeNumber = 1;
String.Format( "EMPLOYEE{8:D}", EmployeeNumber );
Remember you will be limited to 999999 employees.
0100000101101110011001000111001011101001
|
|
|
|
|
It is
string.Format("EMPLOYEE{0:D6}",EmployeeNumber);
|
|
|
|
|
Where is the employee code stored? How do you determine which EMPLOYEE should be EMPLOYEE00001 and which EMPLOYEE00075?
We need more information before we can give you a meaningful answer.
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
André Kraak,ProEnggSoft
Thank you for your answer and it's works!
OriginalGriff, the employee code is stored in the database and it just a field for naming(like a roll no) a employee. i have a id filed for managing employees.
when admin add a employee program fetch last inserted employee code. i writed a program for increasing the count.
Thanks,
Arunkumar.t
|
|
|
|
|
Arunkumar.Koloth wrote: OriginalGriff, the employee code is stored in the database and it just a field for naming(like a roll no) a employee. i have a id filed for managing employees.
when admin add a employee program fetch last inserted employee code. i writed a program for increasing the count.
If you're using SQL Server why are you not using the identity column instead?
http://msdn.microsoft.com/en-us/library/aa933196(v=sql.80).aspx[^]
If you're not using SQL server there's probably some similar function in your database.
|
|
|
|
|
Marcus_2,
My project is in MySQL server so i thing it is required.. suggest me if you have any other great idea.
Thank you
Arunkumar
|
|
|
|
|
Hi
I've no idea about MyQL, but perhaps this might be helpful or at lest something to read and remember the functionality for future use:
http://bytes.com/topic/mysql/answers/652076-how-create-identity-column-mysql
It depends on how you do it, I just read this
Arunkumar.Koloth wrote: i writed a program for increasing the count.
and tried to give an idea about using a feature built into a lot of databases.
|
|
|
|