Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

How to insert string variables in the select statement in the Query Builder?

Posted on 2006-06-30
20
Medium Priority
?
1,278 Views
Last Modified: 2008-01-09
Hello. How to insert string variables in the select statement in the Query Builder? I'm using c# and VS2005

This is how my select looks like when I create directly in my c# code
SELECT [Hyttenavn], [" + cn1 + "], [" + cn2 + "] FROM [GrTilWeb] WHERE [Hyttenavn] = '" + rn + "'"
0
Comment
Question by:m-jansen
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 13
  • 3
  • 3
  • +1
20 Comments
 
LVL 12

Expert Comment

by:deanvanrooyen
ID: 17020402
you are building the sting dynamically -  what is this for? to fill a gridview or something like that?
are you using an sql datasource?
0
 

Author Comment

by:m-jansen
ID: 17020484
To fill a Gridview, but my column name and row need to be choosed/changed at runtime. I'm using an ObjectDataSource that is connected to an AccessDataSource.
0
 

Author Comment

by:m-jansen
ID: 17020706
My ObjectDataSource is created like this.

                                <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" InsertMethod="Insert"
                                    OldValuesParameterFormatString="original_{0}" SelectMethod="GetHyttePrisVedType1"
                                    TypeName="dbTableAdapters.GrTilWebTableAdapter">
                                    <InsertParameters>
                                        <asp:Parameter Name="Hyttenavn" Type="String" />
                                        <asp:Parameter Name="_1___pris" Type="Double" />
                                        <asp:Parameter Name="Index" Type="Double" />
                                    </InsertParameters>
                                </asp:ObjectDataSource>

Let's say I want to make this field dynamic:
<asp:Parameter Name="Hyttenavn" Type="String" />

Then I guess I must do this in my c# code file

        string mystring = "Hyttenavn";
        ObjectDataSource1 = new ObjectDataSource();
        ObjectDataSource1.InsertParameters.UpdateValues[3] = mystring;

But it does not work. Any suggestions?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 12

Expert Comment

by:topdog770
ID: 17020772
well, first off, it appears that you only have 3 parameters so the indexing at UpdateValues should be one less then it is, to set a valid value




0
 

Author Comment

by:m-jansen
ID: 17020802
ObjectDataSource1.InsertParameters.UpdateValues[2] = mystring; // Cannot apply indexing with [] to an expression of type 'method group'
0
 
LVL 12

Expert Comment

by:topdog770
ID: 17020820
sorry... it should have been like this..

ObjectDataSource1.InsertParameters["Index"] = mystring;
0
 

Author Comment

by:m-jansen
ID: 17020844
ObjectDataSource1.InsertParameters["Index"] = mystring; // Error      88      Cannot implicitly convert type 'string' to 'System.Web.UI.WebControls.Parameter'
0
 

Author Comment

by:m-jansen
ID: 17020848
I'm using ASP.NET 2.x and VS2005
0
 
LVL 12

Expert Comment

by:topdog770
ID: 17020857
ok.. read it wrong..just a sec!
0
 
LVL 18

Expert Comment

by:Elvio Lujan
ID: 17021113
dim s as string = "SELECT [Hyttenavn], [" & cn1 & "], [" & cn2 &"] FROM [GrTilWeb] WHERE [Hyttenavn] = '" & rn &"'"
0
 

Author Comment

by:m-jansen
ID: 17021199
lem2802: that's how I did it (just in c#). Now I created a dataset and created a query there. See?
0
 

Author Comment

by:m-jansen
ID: 17021208
I feel I'm so bad to explain...
0
 

Author Comment

by:m-jansen
ID: 17021221
Have you heard about the Query Builder?
0
 
LVL 12

Expert Comment

by:deanvanrooyen
ID: 17025616
try

        string sindex = "somevalue";
        this.ObjectDataSource1.InsertParameters[0].DefaultValue = sindex;
        this.ObjectDataSource1.InsertParameters[0].Direction = ParameterDirection.Input;
        this.ObjectDataSource1.InsertParameters[0].Type = TypeCode.String;

 I would suggest using the sql datasource and change the datasource to Microsoft Access Database File (OLE DB), I assume
it is a bit easier to work with -   but if you need the object datasource because you have defined your own class to to describe the data layer keep going, good luck...





       
0
 

Author Comment

by:m-jansen
ID: 17026403
The object ObjectDataSource1 is beeing created in the aspx file like this:

                                <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" InsertMethod="Insert"
                                    OldValuesParameterFormatString="original_{0}" SelectMethod="GetHyttePrisVedType1"
                                    TypeName="dbTableAdapters.GrTilWebTableAdapter">
                                    <InsertParameters>
                                        <asp:Parameter Name="Hyttenavn" Type="String" />
                                        <asp:Parameter Name="_1___pris" Type="Double" />
                                        <asp:Parameter Name="Index" Type="Double" />
                                    </InsertParameters>
                                </asp:ObjectDataSource>

It works to change a parameter name like this:

ObjectDataSource1.InsertParameters[0].Name = "asdasdad";
But it won't change the column name and content in the gridview at runtime.
0
 

Author Comment

by:m-jansen
ID: 17026408
protected void Wizard1_Load(object sender, EventArgs e)
    {
        ObjectDataSource1.InsertParameters[2].Name = "asdasdad";
        Label4.Text = ObjectDataSource1.InsertParameters[2].Name;
    }

This is where I try change the ObjectDataSource1
0
 

Author Comment

by:m-jansen
ID: 17026430
deanvanrooyen: I have tried to make my own object of the table I'm going to use and it works good, but I just wondered if I could do the same with a GridView.
0
 
LVL 12

Accepted Solution

by:
deanvanrooyen earned 250 total points
ID: 17028172
why do you need to change the cloumn name, if you rebind the grid it should reflect inserted records? - I just havent used the object datasource yet
0
 

Author Comment

by:m-jansen
ID: 17029408
>why do you need to change the cloumn name, if you rebind the grid it should reflect inserted records?
yes it does
0
 

Author Comment

by:m-jansen
ID: 17029411
thanks
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Suggested Courses

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question