سایت ساز وبزیکسب درآمد

مشکل با insert در اکسس

شروع موضوع توسط shervin ‏9 فوریه 2007 در انجمن asp , ASP.NET

  1. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    ببخشید بخش مربوط به اکسس نداشتیم همینجا تاپیک زدم
    اینو ببینید موقع اینزت کردن ایراد میگیره
    ارورش نمیدونم چیه
    ضمنا ویندوز اپلیکیشن هستش
    کد:
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim msg As String
            Dim title As String
            Dim style As MsgBoxStyle
            Dim response As MsgBoxResult
            msg = "می خواهید ادامه دهید ؟"
            style = MsgBoxStyle.YesNo
            title = "توجه"
            response = MsgBox(msg, style, title)
            If response = MsgBoxResult.Yes Then
                cm = New OleDbCommand("insert into price (date,price,duration) values (@date,@price,@du)", cn)
                cm.Parameters.Add("@date", Date.Today)
                cm.Parameters.Add("@price", tprice.Text)
                cm.Parameters.Add("@du", "daily")
                cn.Open()
                cm.ExecuteNonQuery()
                cn.Close()
                lerror.Text = "قیمت جدید اضافه شد"
            End If
        End Sub
     
  2. بازدیدیار - افزایش بازدید سایت و سیگنال های برندخرید بک لینک
  3. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    ضمنا من کلی هم گشتم و موارد مشابهی رو دیدم تو همین فوروم ولی هیچ کدوم راه حلش برام فایده نداشت
    فکر نمیکنم مشکل پرمیشن داشته باشم
    چون قبلا درستش کردم
    کارای این لینکم که جای دیگه حسین خان گفته بود انجام دادم دوباره نشد
    http://rooznamechi.blogspot.com/2006/03/aspnet.html
    بازم تاکید کنم که دارم ویندوز اپلیکیشن کار میکنم
    البته فکر نمیکنم تفاوتی داشته باشه همه جا این دستورات یکی هستش تا اونجایی که میدونم
     
  4. Parham

    Parham Registered User

    تاریخ عضویت:
    ‏24 سپتامبر 2003
    نوشته ها:
    1,036
    تشکر شده:
    1
    به جای این سه خط:
    کد:
                cm = New OleDbCommand("insert into price (date,price,duration) values (@date,@price,@du)", cn)
                cm.Parameters.Add("@date", Date.Today)
                cm.Parameters.Add("@price", tprice.Text)
                cm.Parameters.Add("@du", "daily")
    
    این خط رو بنویس!

    کد:
    cm = New OleDbCommand("insert into price (date,price,duration) values (" & Date.Today & "," & tprice.Text & ",'daily')", cn)
     
  5. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    ممنون از کمکت ولی بازم نشد
    راستی نگی چقدر اسکوله واسه daily یه پارامتر درست کرده ها
    اولش قرار بود متغیر باشه بعد قرار شد ثابت باشه واسه همین اونجوری موند
    :D
    حالا چیکار کنم ؟
    ینی چشه؟
     
  6. Parham

    Parham Registered User

    تاریخ عضویت:
    ‏24 سپتامبر 2003
    نوشته ها:
    1,036
    تشکر شده:
    1
    آخه شروین جان!‌اینطوری که نمیشه! چه اروری میده؟! چرا ارورش نمیدونی چیه؟! اگه ارور میده توضیحات اون ارور رو بزار اگه InnerException داره توضیحات اونو بزار. از Exception Handling استفاده کن، ببین ارور چیه:

    کد:
            Try
    
    اینجا کد خودتو بزار!
    
            Catch ex As DataException
                MessageBox.Show(ex.Message)
    
    
            End Try
    
     
  7. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    اینجوری نمیتونم ارور رو بگیرم اصلا قبل از اینکه به گرفتن خطا برسه استاپ میده همینو میگم دیگه
    از تو دیتیلز اینو تونستم بگیرم
    کد:
    System.Data.OleDb.OleDbException was unhandled
      ErrorCode=-2147217900
      Message="Syntax error in INSERT INTO statement."
      Source="Microsoft JET Database Engine"
      StackTrace:
           at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
           at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
           at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
           at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
           at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
           at Badansazi.config.Button1_Click(Object sender, EventArgs e) in D:\New Folder\Badansazi\Badansazi\Tools\config.vb:line 22
           at System.Windows.Forms.Control.OnClick(EventArgs e)
           at System.Windows.Forms.Button.OnClick(EventArgs e)
           at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
           at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
           at System.Windows.Forms.Control.WndProc(Message& m)
           at System.Windows.Forms.ButtonBase.WndProc(Message& m)
           at System.Windows.Forms.Button.WndProc(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
           at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           at System.Windows.Forms.Application.Run(ApplicationContext context)
           at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
           at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
           at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
           at Badansazi.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
           at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
           at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
           at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
           at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
           at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
           at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
           at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           at System.Threading.ThreadHelper.ThreadStart()
    
     
  8. shimakh

    shimakh کاربر تازه وارد

    تاریخ عضویت:
    ‏11 دسامبر 2006
    نوشته ها:
    115
    تشکر شده:
    0
    HTML:
     strinsert="Insert Into Price"&"([date],[price],[duration]) Values(?,?,?)"   cmdInsert = New oledbCommand( strInsert, cn)
    اینو امتحان کنید نتیجشو بگید
     
  9. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    کار نکرد
    مشکل نوع نوشتن نباید باشه
    همون اولی هم که نوشتم درسته
    باید مشکل جای دیگه باشه
     
  10. shimakh

    shimakh کاربر تازه وارد

    تاریخ عضویت:
    ‏11 دسامبر 2006
    نوشته ها:
    115
    تشکر شده:
    0
    ببینید اینطوری که شما از این دستور استفاده می کنید من تا حالا نتونستم نتیجه بگیرم
    نمی دونم شاید خودتون تونستید باهاش کار کنید:blink: در هر صورت اگر قبلا از دستور خودتون نتیجه نگرفتید پیشنهاد می کنم فعلا این طوری باهاش کار کنید راستی شما اینا رو به کدتون اضافه کردید؟
     
  11. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    اینقدرا دیگه یول نیستم :D
    بله من همیشه همینجوری مینویسم و مشکلی هم ندارم
     
  12. shimakh

    shimakh کاربر تازه وارد

    تاریخ عضویت:
    ‏11 دسامبر 2006
    نوشته ها:
    115
    تشکر شده:
    0
    منظورم بیشتر به عبارتOleDb بود چون الان یک سرچ کردم دیدم بعضی ها که این مشکل رو داشتن به خاطر این بوده که اشتباها از sqlclient و امثالهم استفاده کردن ...​
     
  13. Parham

    Parham Registered User

    تاریخ عضویت:
    ‏24 سپتامبر 2003
    نوشته ها:
    1,036
    تشکر شده:
    1
    شروین جان اینو بجای اون خط بالا که گفتم بزار:
    کد:
    cm = New OleDbCommand("insert into price (date,price,duration) values (#" & Date.Today & "#,'" & tprice.Text & "','daily')", cn)
    
    
    یه کار دیگه هم بکن، اسم اون فیلد date ات رو عوض کن. همیشه سعی کن از کلمات کلیدی برای نام فیلدها استفاده نکنی.
     
  14. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    شرمنده پرهام جان تو زحمت افتادی
    بازم نشد
    نمیدونم چه مرگشه
    واسه ویندوز اپلیکیشن اگه از SQL استفاده کنم حتما باید رو سیستمی که برنامه اجرا میشم SQL Server نصب بشه دیگه نه؟
    البته تا اونجا که میدونم باید نصب بشه گفتم شاید راهی باشه
     
  15. Parham

    Parham Registered User

    تاریخ عضویت:
    ‏24 سپتامبر 2003
    نوشته ها:
    1,036
    تشکر شده:
    1
    چه عرض کنم. اون خطا میگه که یه مشکل دستوری تو اون کامند هست! بعد از اون خط یه Break Point بزار بعد مقدار cm.CommandText رو با wath بگیر اینجا بزار.

    برای SQL Server هم همونطور که خودت گفتی باید نصب کنی. میتونی Express Edition رو نصب کنی که رایگان و سبک هست. از سایت مایکروسافت دانلودش کن.
     
  16. Parham

    Parham Registered User

    تاریخ عضویت:
    ‏24 سپتامبر 2003
    نوشته ها:
    1,036
    تشکر شده:
    1
    اون فیلد date هم حتما باید اسمش عوض بشه.
     
  17. mazoolagh

    mazoolagh Registered User

    تاریخ عضویت:
    ‏10 آپریل 2004
    نوشته ها:
    2,939
    تشکر شده:
    7
    مشكل همونطور كه دوستان هم اشاره كردن فقط به date‌ مربوط هست و لاغير! بايد اسمش در ديتابيس و كد عوض بشه.
     
  18. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    از همه دوستان ممنونم
    اشکال از date بود
    آخه تو sql اگه کلمه کلیدی به کار میبردیم توی یه کروشه قرار میگرفت اینجا چون اونجوریش نکرد گفتم حتما ایرادی نداره
    آخه اولین باره دارم با اکسس کار میکنم
    همیشه با sql بوده
    به هر حال خیلی ممنون از همه
     
  19. H_R

    H_R مدیر بازنشسته

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    3,284
    تشکر شده:
    17
    محل سکونت:
    North Pole
    :blink: :blink: بچه مایه دار هیچ وقت پیکان سوار نشده ! از اولش زانتیا میرونده !:lol:
     
  20. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    :D
    البته همش مثل همه ولی یه نکات کوچولو مثل این فرق میکرد که مشکل شد
     
عسل طبیعی و گرده گل ایرانیخرید و فروش اتوماتیک ارزهای الکترونیکی