karthikh87 Ответов: 4

ошибка неверный синтаксис рядом )


System.Data.SqlClient.SqlException was unhandled by user code
  Message="Incorrect syntax near ')'."
  Source=".Net SqlClient Data Provider"
  ErrorCode=-2146232060
  Class=15
  LineNumber=1
  Number=102
  Procedure=""
  Server="\\\\.\\pipe\\3A2A659F-F9B2-41\\tsql\\query"
  State=1
  StackTrace:
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       at _Default.Button1_Click(Object sender, EventArgs e) in c:\Documents and Settings\kachu\My Documents\Visual Studio 2008\WebSites\newimginsert\Default.aspx.cs:line 44
       at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
       at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
       at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
       at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
       at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException: 

это мой код.
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.Sql;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
{
   //   SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDBFileName=|DataDirectory|\\ImageDB.mdf; integrated security=true;user instance=true;");
    SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDBFileName=|DataDirectory|\\ImageDB.mdf; integrated security=true;user instance=true;");

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            //byte[] img = new byte[FileUpload1, postedfile.contentLength];
            byte[] img = new byte[FileUpload1.PostedFile.ContentLength];
            HttpPostedFile myimg = FileUpload1.PostedFile;
            myimg.InputStream.Read(img, 0, FileUpload1.PostedFile.ContentLength);
            SqlCommand cmd = new SqlCommand("insert into myimage(ImageName,Image) values(@imagename,)", con);
            
            SqlParameter imgname = new SqlParameter("@imagename", SqlDbType.VarChar,25);
            imgname.Value = TextBox1.Text;
            cmd.Parameters.Add(imgname);
            
            SqlParameter uploading = new SqlParameter("@image", SqlDbType.Image);
            uploading.Value = img;
            cmd.Parameters.Add(uploading);
            
            con.Open();
            
            cmd.ExecuteNonQuery();
            
            con.Close();
            
            Label1.Text = "image uploaded........";


        }
        else
            Label1.Text = "can't upload file.........";
    }
}

н я в следующем видео
http://www.youtube.com/watch?v=HYdsHttQzDw


plz помогите мне заранее спасибо и моя проблема заключается в том, что я хочу вставить и получить изображение из sql и получить изображение в gridview я не получаю правильный код, поэтому работаю над ним с последних 4 дней, но все еще не могу этого сделать..:-(


[edit]добавлены блоки кода - OriginalGriff[/edit]

Member 13047328

Система Импорта.Сведения
Система Импорта.Данных.Поставщики sqlclient
Система Импорта.ИО
Система Импорта.Веб.Конфигурации

Частичный Класс AdminProd
Наследует System.Веб.Пользовательского интерфейса.Страницы
Дим коробки как новое sqlconnection("источник данных=.\Именем sqlexpress;ключевое слово attachdbfilename=е:\988\stationary_project\папку App_Data\dbstet.МДФ;Комплексная безопасность=true;в пользовательский экземпляр=true в")
Dim da As New SqlDataAdapter("select * from Product order by Item_Id", conn)
Dim ds как новый набор данных
Дим ДТ в качестве нового объекта DataTable
Dim m как целое число
Dim img1, usr как строка
Защищенный Sub page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Обрабатывает Меня.Load
Dim da2 As New SqlDataAdapter("select Cat_name from Category", conn)
Dim ds2 как новый набор данных
DS2 у.Понятно()
da2.Fill(ds2, "категория")
ddlcode.Предметы.Четкий()
ddlcode.Предметы.Добавить("Выберите")
Для j = 0 - ds2.Tables("категория").Rows.Количество - 1
ddlcode.Предметы.Добавить(ds2.Tables("категория").Строки(j).элемент(0))
Следующий
Конец Подводной Лодки




Защищенный Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Обрабатывает Меня.Load

Если Сессия.Тогда считайте > 0
usr = сессия("имя пользователя").Метод toString
Еще
Ответ.Перенаправление("login.aspx")

Конец, Если
Коннектикут.Открыть()
ДС.Понятно()
da.Fill(ds, "продукт")
Управления gridview1.Источник данных = ДС
Управления gridview1.Привязку()
Управления gridview1.AllowPaging = True
Управления gridview1.Pagesize для = 5
Конец Подводной Лодки



Защищенные суб ddlcode_TextChanged(как byval отправителя как объект, как byval E Как системы.EventArgs) обрабатывает DDL-код.Очередь textchanged
Dim da22 As New SqlDataAdapter("выберите Cat_code из категории, где Cat_name='" & ddlcode.Элемент.ToString & "'", conn)
Dim ds22 как новый набор данных
ds22.Понятно()
da22.Fill(ds22, "категория")
Если (ДТ.Строк.Count > 0) затем
lblccode.Text = ds22.Tables("категория").Строки(0).Элемент(0)

Конец, Если



Конец Подводной Лодки

Защищенные суб GridView1_PageIndexChanging(как byval отправителя как объект, как byval E Как системы.Веб.Пользовательского интерфейса.WebControls.GridViewPageEventArgs) Обрабатывает GridView1.PageIndexChanging
Управления gridview1.Pageindex было = Е.NewPageIndex
Управления gridview1.Источник данных = ДС
Управления gridview1.Привязку()
Конец Подводной Лодки




Защищенные суб btnadd_Click1(как byval отправителя как объект, как byval E Как системы.EventArgs) обрабатывает btnadd.Щелчок
lblid.Текст = ""
lblccode.Текст = ""

txtnm.Текст = ""
txtprice.Текст = ""


Изображение 2.Url_изображения = ""

dt = новый DataTable
ДТ.Понятно()
да.Заполнить(ДТ)
Dim n как целое число = dt.строк.Количество - 1

Если dt.строки.Количество = 0 Тогда
m = 1
Еще
м = Вал(ДТ.Строк(N).Пункт(0).ToString) + 1
Конец, Если

lblid.Текст = m
ddlcode.Не()
btnadd.Включено = Ложь
btnsave.Включен = Истина
btnup.Включено = Ложь
btndel.Включено = Ложь


Конец Подводной Лодки

Защищенный Sub btnsave_Click(ByVal sender As Object, ByVal e As System.EventArgs) обрабатывает btnsave.Щелчок
- Если ддлкод.Элемент.Текст = "Выбрать" Тогда
'MsgBox("Пожалуйста, выберите категорию")
'Ключевые слова elseif lblccode.Текст = "" Тогда
'MsgBox("Пожалуйста, выберите категорию еще раз")
'Ключевые слова elseif txtnm.Текст = "" Тогда
'MsgBox("пожалуйста, введите название продукта")
'Txtprice за elseif.Текст = "" Тогда
'MsgBox("пожалуйста, введите цену продукта")
'ElseIf FileUpload2.FileName = "" Тогда
'MsgBox("Пожалуйста, загрузите изображение продукта")
-Иначе


Dim img1 As String = Path.GetFileName(FileUpload2.PostedFile.имя файла)
FileUpload2.SaveAs(Сервер.MapPath("~/image/" & img1))
img1 = "изображение/" & img1
Dim S Как Строка
S = "вставить в значения продукта(" & lblid.Текст & ",'" & txtnm.Текст & "'," & lblccode.Текст & "," & txtprice.Текст & ",'" & img1 & "')"

Dim CMD As New SqlCommand(S, conn)
УМК.Метод executenonquery()
ДС.Понятно()
da.Fill(ds, "продукт")

Управления gridview1.Источник данных = ДС
GridV

Member 13047328

я уже выше кому btnsave код, но его не разобрать, если условие else-ветвь, помогите плз

4 Ответов

Рейтинг:
34

Abhinav S

Ваш запрос неверен. Попробуйте скопировать запрос отсюда и запустить его в среде SQL Server Management Studio. Это даст вам представление о том, какой синтаксис неверен.


Monjurul Habib

5!

Abhinav S

Спасибо тебе, Монжурул.

Рейтинг:
27

OriginalGriff

Уберите запятую.

SqlCommand cmd = new SqlCommand("insert into myimage(ImageName,Image) values(@imagename,)", con);
Становится
SqlCommand cmd = new SqlCommand("insert into myimage(ImageName,Image) values(@imagename)", con);



[редактировать]
Возможно, вы действительно захотите добавить вместо этого другой параметр:
SqlCommand cmd = new SqlCommand("insert into myimage(ImageName,Image) values(@imagename,@image)", con);

[/редактировать]


karthikh87

я забыл написать "@image" после запятой, сэр ... и спасибо за большую поддержку
Команда sqlcommand cmd и = новая команда sqlcommand("вставить в myimage(Имя_образа,изображения) значения(@имя_образа,@изображений)", кон);

и я желаю и прошу такой же поддержки все время и его здорово быть на этом форуме
еще раз спасибо, и если это возможно, вы можете дать код для отображения изображения в виде сетки, так как я не получаю от многих дней m извините, если я ожидаю больше m очень новый для этой разработки сэр..

OriginalGriff

Всегда пожалуйста!
Взгляните на это эта статья - именно это он и делает.
http://www.codeproject.com/Articles/268123/Display-Store-and-Retrieve-Image-Data-from-Databas

Monjurul Habib

5!

Рейтинг:
2

Anil Avhad [IND]

Дорогой друг,

Пожалуйста, проверьте эту строку

SqlCommand cmd = new SqlCommand("insert into myimage(ImageName,Image) values(@imagename,)", con);


Пожалуйста, удалите жирную точку с запятой

может быть, ваша проблема будет решена.


с уважением,
Анил Авхад


Рейтинг:
2

Ganesh Kumar Kaki

Неверный запрос.
проверьте синтаксис и запустите его в SQL..

вы просто передаете только одно значение ..plz проверьте это

SqlCommand cmd = new SqlCommand("insert into myimage(ImageName,Image) values(@imagename,)", con);