× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Rohan,

Shane's approach should work because the SQL statement is rendered as a complete string first.

You should, however change a couple of things:

The filter is a string so you should be able to do something like (within the try/catch):

String szSQLStmt = "Select * from ctx4nthg where REF =" + filter;

then your iDB2Command should be:

iDB2Command(szSQLStmt,connDB2);

That should do it.

Pete Helgren


Rohan Sootarsing wrote:

ok sorry i should have kiven you more information

this is the rest of the code
[WebMethod]
                public DataSet CTX(string filter)
                {
                        try
                        {
                                iDB2Connection connDB2=new
iDB2Connection(
                                        "DataSource=TDC01;" +
                                        
"userid=RDS;password=sootarsing;DefaultCollection=QGPL;");
                                DataSet ds = new DataSet();
                                iDB2DataAdapter adpt = new
iDB2DataAdapter();
                                adpt.SelectCommand = new
iDB2Command("Select * from ctx4nthg where REF =" + @filter ,connDB2);
                                adpt.Fill(ds);
                                return ds;


And this is how it works with MS SQL


[WebMethod]
public DataSet GetProducts(string filter)
{
 try
 {
   using(SqlConnection sc = new SqlConnection(
     ConnectionSettings.AppSettings["ConnStr"]))
   {
       SqlCommand cmd = new SqlCommand("usp_GetProducts", sc);
       cmd.CommandType = CommandType.StoredProcedure;
       cmd.Parameters.Add("@filter", SqlDbType.VarChar, 35);
       cmd.Parameters["@filter"].Direction =
ParameterDirection.Input;
       cmd.Parameters["@filter"].Value = filter;
       SqlDataAdapter sda = new SqlDataAdapter(cmd);
       DataSet ds = new DataSet();
       sda.Fill(ds);
       return ds;

Sorry I dont know enough about this to know what i need to do to make
it work for the DB2 connection

Thanks in advance Rohan




Pete@xxxxxxxxxx 18/05/2005 14:35:33 >>>


And @filter is ?  A parameter? A literal? A variable in your program?

Seems to me that you'd need a prepared statement so you can pass the parameter OR you need some code that generates the SQL string and resolves the parameter into and actual value first.

Pete Helgren


Rohan Sootarsing wrote:



Hi Guys I have a webservice using the following query it works


absolutly


fine

new iDB2Command("Select * from ctx4nthg where REF = '123456'"
,connDB2);

This works fine but I want it to return different results depending


on


the value of something called filter

i have tried new iDB2Command("Select * from ctx4nthg where REF =" + @filter
,connDB2);
and new iDB2Command("Select * from ctx4nthg where REF =@filter"


,connDB2);


can anyone give me some tips

Rohan



______________________________________________________________________________
This message has been checked for viruses by Corpex
using the ArmourPlate Virus Scanning Service. To find out
how to protect your company visit http://www.armourplate.com or call Corpex on +44 (0)207 430 8000.






As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.