• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1288
  • Last Modified:

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

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
m-jansen
Asked:
m-jansen
  • 13
  • 3
  • 3
  • +1
1 Solution
 
deanvanrooyenCommented:
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
 
m-jansenAuthor Commented:
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
 
m-jansenAuthor Commented:
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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
topdog770Commented:
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
 
m-jansenAuthor Commented:
ObjectDataSource1.InsertParameters.UpdateValues[2] = mystring; // Cannot apply indexing with [] to an expression of type 'method group'
0
 
topdog770Commented:
sorry... it should have been like this..

ObjectDataSource1.InsertParameters["Index"] = mystring;
0
 
m-jansenAuthor Commented:
ObjectDataSource1.InsertParameters["Index"] = mystring; // Error      88      Cannot implicitly convert type 'string' to 'System.Web.UI.WebControls.Parameter'
0
 
m-jansenAuthor Commented:
I'm using ASP.NET 2.x and VS2005
0
 
topdog770Commented:
ok.. read it wrong..just a sec!
0
 
Elvio Lujan.Net Senior DeveloperCommented:
dim s as string = "SELECT [Hyttenavn], [" & cn1 & "], [" & cn2 &"] FROM [GrTilWeb] WHERE [Hyttenavn] = '" & rn &"'"
0
 
m-jansenAuthor Commented:
lem2802: that's how I did it (just in c#). Now I created a dataset and created a query there. See?
0
 
m-jansenAuthor Commented:
I feel I'm so bad to explain...
0
 
m-jansenAuthor Commented:
Have you heard about the Query Builder?
0
 
deanvanrooyenCommented:
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
 
m-jansenAuthor Commented:
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
 
m-jansenAuthor Commented:
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
 
m-jansenAuthor Commented:
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
 
deanvanrooyenCommented:
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
 
m-jansenAuthor Commented:
>why do you need to change the cloumn name, if you rebind the grid it should reflect inserted records?
yes it does
0
 
m-jansenAuthor Commented:
thanks
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 13
  • 3
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now