DataSource Controls :: Incorrect Syntax Near The Keyword "and"
May 13, 2010
this is my code for binding a gridview on based of two dropdownlists selected choices.
protected void Bind_NBD()
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["contest"].ConnectionString);
con.Open();
StringBuilder sub = new StringBuilder("select * from mtblNBD where (1=1)
order by Deadline desc");
SqlCommand com = new SqlCommand(sub.ToString(), con);
if (ddlDivision.SelectedValue != "0")
{
sub.Append(" and Division = @Division");
com.CommandText = sub.ToString();
com.Parameters.AddWithValue("@Division", ddlDivision.SelectedItem.Text);
;
}
if (ddlGroup.SelectedValue != "0")
{
sub.Append(" and GroupIn=@GroupIn");
com.CommandText = sub.ToString();
com.Parameters.AddWithValue("@GroupIn", ddlGroup.SelectedItem.Text);
}
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
if in this query StringBuilder sub = new StringBuilder("select * from mtblNBD where (1=1) order by Deadline desc"); I remove the bolded part "order by Deadline desc" then it works good. but with this part the result is with an error. Incorrect syntax near the keyword 'and'. what causes the error.
i am making a shopping cart and i am receiving this error when tryin to add a product to an order. Incorrect syntax near the keyword 'Order'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'Order'. Source Error:
[Code]....
Source File: c:UsersPerk-OnDocumentsVisual Studio 2008WebSitesestApp_CodeCart.cs Line: 69 Stack Trace:
I am getting these errors when compiling => Msg 156, Level 15, State 1, Line 2 Incorrect syntax near the keyword 'AS' Msg 156, Level 15, State 1, Line 6 Incorrect syntax near the keyword 'DECLARE'.
SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON GO AS ALTER PROCEDURE [dbo].[Z_DQA_LOAD_RECIPE] DECLARE @instbl varchar(50) SET @instbl = 'Z_DQA_' DECLARE @instbl_def varchar(50) SET @instbl_def = 'Z_DQA_' DECLARE @updttbl varchar(20) DECLARE @Run int DECLARE @Defect int DECLARE @Test_Num int DECLARE @Test_Desc varchar(50).............................
I have a GridView on my web site where column "Tariff Description" I have configured as DropDownList where two values are included. When user updates client details, I want him to be able to assign Tariff from those two values. When I click Edit on user details, change one tariff value to another and click Update, I get "Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'FROM'." error message. Following is a code I use:
Incorrect syntax near the keyword 'AS'. What i am trying to do is SELECT details of a job and also SELECT which region the job is in. I currently have this: [URL] But i need to change it so it shows the Job name, details and then the regions..
I will declarate a attribute, but it gives me an error
This query works fine and returns 1 record from type int:
SELECT TOP 1 DataObjectVersionID FROM tblDataObjectVersionPropertyValueText WHERE PropValue like CAST('00010281' AS ntext) ORDER BY DataObjectVersionID DESC
And when I will declarate a attribute/parameter it gives me an error:
DECLARE @dataObjectVersionId INT SET @dataObjectVersionId = SELECT TOP 1 DataObjectVersionID FROM tblDataObjectVersionPropertyValueText WHERE PropValue like CAST('00010281' AS ntext) ORDER BY DataObjectVersionID DESC
Error message:
Msg 156, Level 15, State 1, Line 2 Incorrect syntax near the keyword 'SELECT'.
When I use single text box for date it work fine but when a'm check between two dates it gives error this is my code
Dim adp As New SqlDataAdapter("select EmplID='" + TextBox1.SelectedValue + "', date between ='" & TextBox2.Text & "' and '" & TextBox3.Text & "' ,RESULT = CASE WHEN exists(select * from AtdRecord where RecDate between ='" & TextBox2.Text & "' and '" & TextBox3.Text & "' and EmplID='" + TextBox1.SelectedValue + "') THEN ('P')ELSE ('A ' ) END,ResultType= CASE WHEN exists (select * from AtdRecLeave where StDate between = '" + TextBox2.Text & "'and '" & TextBox3.Text & "' and EmplID='" + TextBox1.SelectedValue + "') THEN (SELECT ResultType FROM AtdRecLeave WHERE EmplID='" + TextBox1.SelectedValue + "' and stDate between = '" + TextBox2.Text & "' and '" & TextBox3.Text & "') else ('-') END", con)eror=
Incorrect syntax near the keyword 'between'.Incorrect syntax near '='.Incorrect syntax near '='.Incorrect syntax near '='.
In SQL Query Analyzer I run this statement and I don't get anny error:
string select = "SELECT " + "aanvrager.werknemersnaam AS melder , hd_aanvragen.aanvraag_titel, " + "hd_aanvragen.aanvraag_omschrijving, hd_aanvraag_fase.fase_datum, " + "hd_melding_niveau_1.niveau_omschrijving AS 'Niveau 1', " + "hd_melding_niveau_2.niveau_omschrijving AS 'Niveau 2', " + "hd_aanvragen.outlook_id" + "FROM hd_aanvragen " + "INNER JOIN hd_meldingen ON hd_meldingen.melding_id = hd_aanvragen.melding_id " + "INNER JOIN hd_melding_niveau_1 ON hd_melding_niveau_1.niveau1_id = hd_meldingen.niveau1_id " + "INNER JOIN hd_melding_niveau_2 ON hd_melding_niveau_2.niveau2_id = hd_meldingen.niveau2_id " + "INNER JOIN hd_aanvraag_fase ON hd_aanvraag_fase.aanvraag_id = hd_aanvragen.aanvraag_id " + "INNER JOIN hd_statussen ON hd_statussen.status_id = hd_aanvraag_fase.status_id " + "INNER JOIN hd_werknemers AS oplosser ON oplosser.werknemer_Id = hd_aanvraag_fase.werknemer_Id " + "INNER JOIN hd_werknemers AS aanvrager ON aanvrager.werknemer_Id = hd_aanvragen.werknemer_Id " + "WHERE hd_statussen.status_id = 16";
But if I run this select-statement here: MyDataSource.SelectCommand = select; I get this error: Incorrect syntax near the keyword 'INNER'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'INNER'.
Now, I want to select all unique locationid's from a single username, its important that the results can be PAGED and SORTED, I now have:
SELECT * FROM (select ROW_NUMBER() OVER (ORDER BY createdate) as RowNum, distinct(locationid), l.* FROM location_views lv INNER JOIN locations l on l.id=lv.locationid where lv.username='myname@hotmail.com' ) as info WHERE RowNum > 0 AND RowNum <= 100
But this throws the error: "Incorrect syntax near the keyword 'distinct'."
i am writing storedprocedure for creating salary table ,but getting error while executing sp.
USE [Crystal.HRM] GO /****** Object: StoredProcedure [dbo].[Hrm_Salary] Script Date: 01/19/2011 13:11:02 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
CREATE PROCEDURE [dbo].[Hrm_Salary]( @Pay_Basic char(1), @Pay_Hra char(1) ) AS BEGIN declare @fields nvarchar(max) set @fields='Hrm_Emp_Id [int] not null' if(@Pay_Basic='Y') Begin set @fields=@fields+', Pay_Basic [int] NOT NULL CONSTRAINT [DF_Hrm_Emp_Salary_Pay_Basic] DEFAULT ((0)),' end if(@Pay_Hra='Y') Begin set @fields=@fields+', Pay_Hra [smallint] NOT NULL CONSTRAINT [DF_Hrm_Emp_Salary_Pay_Hra] DEFAULT ((0)),' End set @fields=substring(@fields,0,len(@fields)-2) declare @sql nvarchar(max) set @sql='CREATE TABLE [dbo].[Salary]('+ @fields+' CONSTRAINT [PK_Payroll] PRIMARY KEY CLUSTERED ( [Pay_Emp_Id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO USE [Crystal.HRM] GO ALTER TABLE [dbo].[Hrm_Emp_Salary] WITH CHECK ADD CONSTRAINT [FK_Hrm_Emp_Salary_Hrm_Emp_Tbl] FOREIGN KEY([Pay_Emp_Id]) REFERENCES [dbo].[Hrm_Emp_Tbl] ([Emp_Id])' exec sp_ExecuteSql @sql END
i am getting error 'Incorrect syntax near the keyword 'FETCH'. ' while creating trigger.pls give solution for this error
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER Hrm_Emp_Leave_Insert_Data ON Hrm_Leave_Lookup AFTER INSERT AS BEGIN DECLARE @EMP_ID int DECLARE @LEAVE_ID int DECLARE @LEAVE_TOTAL tinyint DECLARE @LEAVE_CARRY_DAYS tinyint select @LEAVE_ID=Leave_Id, @LEAVE_TOTAL=Leave_Total, @LEAVE_CARRY_DAYS=Leave_Carry_Days from inserted DECLARE SelectCursor CURSOR FOR select Emp_Id from Hrm_Emp_Tbl where Emp_Status='A' OPEN SelectCursor FETCH NEXT from SelectCursor into @EMP_ID while @@FETCH_STATUS=0 BEGIN insert into hrm_emp_leave (@EMP_ID, @LEAVE_ID, @LEAVE_TOTAL, @LEAVE_CARRY_DAYS) FETCH NEXT from SelectCursor into @EMP_ID END CLOSE SelectCursor DEALLOCATE SelectCursor END
i have 3 tables to inner join to get the values. employee_id, employee_name from employee table emplyee_assessment, manager_assessment from Appraisal table. status from objective table
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[sp_selectemployeeapprisaldetails] @employee_name Varchar(30) =null, @years Varchar(30) =null, @designation Varchar(30) =null, @status Varchar(30) =null AS BEGIN
--Set NULL when variable is NULL or length is zero if @employee_name is not null and len(@employee_name)=0 set @employee_name = null if @years is not null and len(@years)=0 set @years = null if @designation is not null and len(@designation)=0 set @designation = null If @status = 'Select' Set @status = null select employee.employee_id, employee.employee_name, Appraisal.years, Appraisal.emplyee_assessment, Appraisal.manager_assessment, objective.status from employee INNER JOIN ON (objective INNER JOIN ON Appraisal ON objective.objective_id = Appraisal.objective_id) ON employee.employeeid = Apprasial.employee_id WHERE employee.emplyee_id = Appraisal.employee_id and Appraisal.objective_id = objective.objective_id and objective.status = 'Active' END
but i am getting errors like 1) Incorrect syntax near the keyword 'ON'.
I am working with a sql server database with about 50 stored procedures. The database and stored procedureswere not created by me. The stored procedures all begin with a number in their name.
Example: 17P_Comsetter
The problem I am having is that if I try and execute the stored procedure at the command line in Query Analyzer,the query analyzer appears not to like that the stored procedure begins with a number. For example:
If I try an run the stored procedure as follows:
EXEC 17P_Comsetter
Then I get the following error message:
Msg 102, ..... Incorrect Syntax near '17'
I am using SQL server 2005. Does anyone know why I am getting this error message?
I hv Writte nA sql Query in whic hi want to use an Inner join as well as THe left OUter Join in it ..i hv written it in the sql server it executes properly.but when i run the same code ..from my application .it starts gving the Error Incorrect Syntax Near Keyword INNER..
Incorrect syntax near '>'. I made a listview with some dropdownmenu and selectboxes to select from untill the query shows in the listview.
Now the query goes well and shows the first page of 4 rows as I wanted it.
The pager shows 5 pages and if I a want to click on the next page I get this message.
Incorrect syntax near '>'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near '>'.
<asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:AvcilarEvleri %>" SelectCommand="SELECT * FROM Tabel1 WHERE ((([Regio_Object] = @Regio_Object) AND ([Plaats_Object] = @Plaats_Object) AND ([Wijk_Object] = @Wijk_Object) AND (Prijsklasse => @Prijsklasse1) AND (Prijsklasse <= @Prijsklasse2) AND (Prijsklasse => @Prijsklasse3) AND (Prijsklasse <= @Prijsklasse4 AND (Oppervlakte_Object => @Oppervlakte_Object1) AND (Oppervlakte_Object <= @Oppervlakte_Object2)) AND ((Type_Object = @Type_Object1) OR (Type_Object = @Type_Object2) OR (Type_Object = @Type_Object3)))"> <SelectParameters> <asp:ControlParameter ControlID="DropSehir1" Name="Regio_Object" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="DropIl1" Name="Plaats_Object" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="DropDownList5" Name="Wijk_Object" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="DropFiyat1" Name="Prijsklasse1" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="DropFiyat2" Name="Prijsklasse2" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="DropFiyat3" Name="Prijsklasse3" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="DropFiyat4" Name="Prijsklasse4" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="DropMetre1" Name="Oppervlakte_Object1" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="DropMetre2" Name="Oppervlakte_Object2" PropertyName="SelectedValue" Type="String" /> <asp:ControlParameter ControlID="CheckBoxList1" Name="Type_Object1" PropertyName="SelectedValue" /> <asp:ControlParameter ControlID="CheckBoxList1" Name="Type_Object2" PropertyName="SelectedValue" /> <asp:ControlParameter ControlID="CheckBoxList1" Name="Type_Object3" PropertyName="SelectedValue" /> </SelectParameters> </asp:SqlDataSource>
And the code;
Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Panel1.Visible = False Panel4.Visible = False Panel5.Visible = False Panel6.Visible = False Panel7.Visible = False Panel8.Visible = False Panel9.Visible = False Panel10.Visible = False Panel2.Visible = True Panel3.Visible = True Dim strchklist As String = "" Dim li As ListItem For Each li In CheckBoxList1.Items If li.Selected Then strchklist += ",'" & li.Value & "'" End If Next If strchklist = "" Then Response.Write("No item Selected") End If SqlDataSource4.SelectCommand = "SELECT * FROM Tabel1 WHERE ([Regio_Object] = @Regio_Object) AND (Plaats_Object = @Plaats_Object) AND (Wijk_Object = @Wijk_Object) AND (Prijsklasse >= @Prijsklasse3) AND (Prijsklasse <= @Prijsklasse4) AND (Oppervlakte_Object >= @Oppervlakte_Object1) AND (Oppervlakte_Object <= @Oppervlakte_Object2) AND Kamers_Object IN (" & strchklist.Substring(1) & ")" SqlDataSource4.DataBind() End Sub
I am sure it has something to do with the query because and with the checkboxes.
Can someone please tell me what normally causes this error message (stack trace at bottom of this post)? I can't even tell what line or what page is producing the error.
Following are the relevant (I think) 2 code procedures...the Update command below seems to "work", because later I see that the image is updated---but I can't immediately see that: I get the above error message.
'FormView.ItemUpdating Event Protected Sub AdvertisementForm_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewUpdateEventArgs) Handles AdvertisementForm.ItemUpdating ' Get the connection string from Web.config. Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("MyDatabaseConnectionString").ToString()) ' Create a command object. Dim cmd As New SqlCommand() ' Assign the connection to the command. cmd.Connection = conn ' Set the command text ' SQL statement or the name of the stored procedure. cmd.CommandText = "UPDATE Advertisements SET UserName = @UserName, Age = @Age, Avatar = ISNULL(@Avatar, Avatar) WHERE UserId = @UserId" ' Set the command type ' CommandType.Text for ordinary SQL statements; cmd.CommandType = CommandType.Text ' Get the person ID, first name and last name from the ' EditItemTemplate of the FormView control. Dim strUserId As String = DirectCast(AdvertisementForm.Row.FindControl("UserIdTextBox"), TextBox).Text Dim strUserName As String = DirectCast(AdvertisementForm.Row.FindControl("UserNameTextBox"), TextBox).Text Dim strAge As String = DirectCast(AdvertisementForm.Row.FindControl("AgeTextBox"), TextBox).Text ' Append the parameters to the SqlCommand and set values. cmd.Parameters.Add("@UserId", SqlDbType.UniqueIdentifier).Value = Guid.Parse(strUserId) cmd.Parameters.Add("@UserName", SqlDbType.NChar).Value = strUserName cmd.Parameters.Add("@Age", SqlDbType.NChar).Value = strAge ' Find the FileUpload control in the EditItemTemplate of ' the FormView control. Dim uploadAvatar As FileUpload = DirectCast(AdvertisementForm.FindControl("uploadAvatar"), FileUpload) If uploadAvatar.HasFile Then ' Append the Picture parameter to the SqlCommand. ' If a picture is specified, set the parameter with ' the value of bytes in the specified picture file. cmd.Parameters.Add("@Avatar", SqlDbType.VarBinary).Value = uploadAvatar.FileBytes Else ' Append the Picture parameter to the SqlCommand. ' If no picture is specified, set the parameter's ' value to NULL. cmd.Parameters.Add("@Avatar", SqlDbType.VarBinary).Value = DBNull.Value End If ' Open the connection. conn.Open() ' Execute the command. cmd.ExecuteNonQuery() End Using ' Switch FormView control to the ReadOnly display mode. AdvertisementForm.ChangeMode(FormViewMode.ReadOnly) ' Rebind the FormView control to show data after updating. BindFormView() End Sub Private Sub BindFormView() ' Get the connection string from Web.config. Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("MyDatabaseConnectionString").ToString()) ' Create a DataSet object. Dim dsPerson As New DataSet(). ' Create a SELECT query. Dim strSelectCmd As String = "SELECT UserId, Avatar FROM Advertisements" ' Create a SqlDataAdapter object Dim da As New SqlDataAdapter(strSelectCmd, conn) ' Open the connection conn.Open() ' Fill the DataTable named "Advertisements" in DataSet with the rows ' returned by the query. da.Fill(dsAdvertisements, "Advertisements") Dim dsAdvertisements As DataSet = New DataSet() ' Bind the FormView control. AdvertisementForm.DataBind() End Using End Sub Server Error in '/www.mywebsite.com' Application. Incorrect syntax near ','. [Code].... Stack Trace: [Code]....