Why does this not work? (doesn't enter my while)

  • Thread starter Thread starter trint
  • Start date Start date
T

trint

//SQL load strings
string dealerNumber;
string orderNumber;
string prodNumber;
string qtyOrd;
string fromDealerNumber;
string orderDate;
string aMount;
string tYpe;
string salesManagerOrganization;
string distributerOrganization;



if ((radioButton1.Checked) == true)
{

}
else if ((radioButton2.Checked) == true)
{
string toTotalDollars = tdvrtextbox1.Text;

// string strSQL = "SELECT DealerNumber " +
// "FROM tblTravelDollars WHERE DealerNumber = '" +
toTotalDollars + "'";


try
{
string dlrnmbr;
dlrnmbr = tdvrtextbox1.Text;
SqlDataReader drSQL;

string strSQL = "SELECT DealerNumber " +
" OrderNumber, " +
" ProdNum, " +
" QtyOrd, " +
" FromDealerNumber, " +
" OrderDate, " +
" Amount, " +
" Type, " +
" SalesManagerOrganization, " +
" DistributerOrganization " +
"FROM tblTravelDollars WHERE DealerNumber = '" + dlrnmbr.Trim() +
"'" ;
// "FROM TBL_Items WHERE item_itemnumber = '" &
MakeItemNumberTrimString & "'"
SqlConnection cnSQL = new SqlConnection(Connectionstring);
SqlCommand cmd = new SqlCommand(strSQL, cnSQL);



cnSQL = new SqlConnection(Connectionstring);
cnSQL.Open();
// string cmSQL;

string urlString;

SqlCommand cmSQL;

cmSQL = new SqlCommand(strSQL, cnSQL);

drSQL = cmSQL.ExecuteReader();

while (drSQL.Read())
{
dealerNumber = drSQL["DealerNumber"].ToString();
orderNumber = drSQL["OrderNumber"].ToString();
prodNumber = drSQL["ProdNum"].ToString();
qtyOrd = drSQL["QtyOrd"].ToString();
fromDealerNumber = drSQL["FromDealerNumber"].ToString();
orderDate = drSQL["OrderDate"].ToString();
aMount = drSQL["Amount"].ToString();
tYpe = drSQL["Type"].ToString();
salesManagerOrganization =
drSQL["SalesManagerOrganization"].ToString();
distributerOrganization =
drSQL["DistributerOrganization"].ToString();
}

// cmSQL.ExecuteNonQuery();
cnSQL.Close();

// bolIsConnecting = false;
// bolDidPreviouslyConnect = true;
// frmStatusMessage.Close();

urlString =
"http://localhost/ReportServer?/Report+Project17/Report1&rs:Command=Render&member_id="
+ dlrnmbr.Trim() + "&rs:Command=Render&DealerNumber=" + dlrnmbr.Trim();
System.Diagnostics.Process.Start("IExplore", urlString);

}
catch(SqlException sqlExc)
{
MessageBox.Show(sqlExc.ToString(), "Dealer not
found!",MessageBoxButtons.OK, MessageBoxIcon.Error);
}

thanks,
Trint
 
Maybe you are not getting any records back from your query. Try running it
in Query Analyzer and see what you get back.
 
because you are missing a comma.

These lines...
string strSQL = "SELECT DealerNumber " +
" OrderNumber, " +

produce a sql command that begins "SELECT DealerNumber OrderNumber, ...

there needs to be a comma after the DealerNumber field.

You weren't getting a sql exception, apparently, so your try-catch statement
didn't catch it.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
trint said:
//SQL load strings
string dealerNumber;
string orderNumber;
string prodNumber;
string qtyOrd;
string fromDealerNumber;
string orderDate;
string aMount;
string tYpe;
string salesManagerOrganization;
string distributerOrganization;



if ((radioButton1.Checked) == true)
{

}
else if ((radioButton2.Checked) == true)
{
string toTotalDollars = tdvrtextbox1.Text;

// string strSQL = "SELECT DealerNumber " +
// "FROM tblTravelDollars WHERE DealerNumber = '" +
toTotalDollars + "'";


try
{
string dlrnmbr;
dlrnmbr = tdvrtextbox1.Text;
SqlDataReader drSQL;

string strSQL = "SELECT DealerNumber " +
" OrderNumber, " +
" ProdNum, " +
" QtyOrd, " +
" FromDealerNumber, " +
" OrderDate, " +
" Amount, " +
" Type, " +
" SalesManagerOrganization, " +
" DistributerOrganization " +
"FROM tblTravelDollars WHERE DealerNumber = '" + dlrnmbr.Trim() +
"'" ;
// "FROM TBL_Items WHERE item_itemnumber = '" &
MakeItemNumberTrimString & "'"
SqlConnection cnSQL = new SqlConnection(Connectionstring);
SqlCommand cmd = new SqlCommand(strSQL, cnSQL);



cnSQL = new SqlConnection(Connectionstring);
cnSQL.Open();
// string cmSQL;

string urlString;

SqlCommand cmSQL;

cmSQL = new SqlCommand(strSQL, cnSQL);

drSQL = cmSQL.ExecuteReader();

while (drSQL.Read())
{
dealerNumber = drSQL["DealerNumber"].ToString();
orderNumber = drSQL["OrderNumber"].ToString();
prodNumber = drSQL["ProdNum"].ToString();
qtyOrd = drSQL["QtyOrd"].ToString();
fromDealerNumber = drSQL["FromDealerNumber"].ToString();
orderDate = drSQL["OrderDate"].ToString();
aMount = drSQL["Amount"].ToString();
tYpe = drSQL["Type"].ToString();
salesManagerOrganization =
drSQL["SalesManagerOrganization"].ToString();
distributerOrganization =
drSQL["DistributerOrganization"].ToString();
}

// cmSQL.ExecuteNonQuery();
cnSQL.Close();

// bolIsConnecting = false;
// bolDidPreviouslyConnect = true;
// frmStatusMessage.Close();

urlString =
"http://localhost/ReportServer?/Report+Project17/Report1&rs:Command=Render
&member_id="
+ dlrnmbr.Trim() + "&rs:Command=Render&DealerNumber=" + dlrnmbr.Trim();
System.Diagnostics.Process.Start("IExplore", urlString);

}
catch(SqlException sqlExc)
{
MessageBox.Show(sqlExc.ToString(), "Dealer not
found!",MessageBoxButtons.OK, MessageBoxIcon.Error);
}

thanks,
Trint
 
actually, I need to refine my answer.

Your code does enter the while loop, where it fails on an error that is not
trapped.

Since you didn't include the comma, you renamed the DealerNumber column to
the new name: OrderNumber.
When you get to this statement:
dealerNumber = drSQL["DealerNumber"].ToString();
you get an exception because you don't have a column named DealerNumber
(since you renamed it to OrderNumber).

Since your try-catch is not catching this exception, you aren't seeing the
error. Apparently some other try-catch is throwing away the error.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
Nick Malik said:
because you are missing a comma.

These lines...
string strSQL = "SELECT DealerNumber " +
" OrderNumber, " +

produce a sql command that begins "SELECT DealerNumber OrderNumber, ....

there needs to be a comma after the DealerNumber field.

You weren't getting a sql exception, apparently, so your try-catch statement
didn't catch it.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
trint said:
//SQL load strings
string dealerNumber;
string orderNumber;
string prodNumber;
string qtyOrd;
string fromDealerNumber;
string orderDate;
string aMount;
string tYpe;
string salesManagerOrganization;
string distributerOrganization;



if ((radioButton1.Checked) == true)
{

}
else if ((radioButton2.Checked) == true)
{
string toTotalDollars = tdvrtextbox1.Text;

// string strSQL = "SELECT DealerNumber " +
// "FROM tblTravelDollars WHERE DealerNumber = '" +
toTotalDollars + "'";


try
{
string dlrnmbr;
dlrnmbr = tdvrtextbox1.Text;
SqlDataReader drSQL;

string strSQL = "SELECT DealerNumber " +
" OrderNumber, " +
" ProdNum, " +
" QtyOrd, " +
" FromDealerNumber, " +
" OrderDate, " +
" Amount, " +
" Type, " +
" SalesManagerOrganization, " +
" DistributerOrganization " +
"FROM tblTravelDollars WHERE DealerNumber = '" + dlrnmbr.Trim() +
"'" ;
// "FROM TBL_Items WHERE item_itemnumber = '" &
MakeItemNumberTrimString & "'"
SqlConnection cnSQL = new SqlConnection(Connectionstring);
SqlCommand cmd = new SqlCommand(strSQL, cnSQL);



cnSQL = new SqlConnection(Connectionstring);
cnSQL.Open();
// string cmSQL;

string urlString;

SqlCommand cmSQL;

cmSQL = new SqlCommand(strSQL, cnSQL);

drSQL = cmSQL.ExecuteReader();

while (drSQL.Read())
{
dealerNumber = drSQL["DealerNumber"].ToString();
orderNumber = drSQL["OrderNumber"].ToString();
prodNumber = drSQL["ProdNum"].ToString();
qtyOrd = drSQL["QtyOrd"].ToString();
fromDealerNumber = drSQL["FromDealerNumber"].ToString();
orderDate = drSQL["OrderDate"].ToString();
aMount = drSQL["Amount"].ToString();
tYpe = drSQL["Type"].ToString();
salesManagerOrganization =
drSQL["SalesManagerOrganization"].ToString();
distributerOrganization =
drSQL["DistributerOrganization"].ToString();
}

// cmSQL.ExecuteNonQuery();
cnSQL.Close();

// bolIsConnecting = false;
// bolDidPreviouslyConnect = true;
// frmStatusMessage.Close();

urlString =
"http://localhost/ReportServer?/Report+Project17/Report1&rs:Command=Render
&member_id="
+ dlrnmbr.Trim() + "&rs:Command=Render&DealerNumber=" + dlrnmbr.Trim();
System.Diagnostics.Process.Start("IExplore", urlString);

}
catch(SqlException sqlExc)
{
MessageBox.Show(sqlExc.ToString(), "Dealer not
found!",MessageBoxButtons.OK, MessageBoxIcon.Error);
}

thanks,
Trint
 
Thanks,
I corrected the first field with a comma:

string strSQL = "SELECT DealerNumber, " +
" OrderNumber, " +

but when stepping through debug, it still gets to while and skips to:

}

// cmSQL.ExecuteNonQuery();
here-->cnSQL.Close();

thanks,
Trint
Net programmer
(e-mail address removed)
 
Trint,

There is no reason that you tell me that, however I really don't understand
why you don't want to use the SQLparameters for this kind of solutions.

I thought that it was you, who is from everywhere adviced for that. However,
you keep it with your concatinated sqlString. And still keeps asking in more
newsgroups all the time help for that.

(I have one reason where I use the concatinated sqlString as well, however
that is not as you do it now)

Cor
 
Back
Top