• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

مشکل با دستور Update

shervin

ASP.net
کاربر قدیمی پرشین تولز
تاریخ عضویت
26 ژوئن 2005
نوشته‌ها
6,353
لایک‌ها
261
سن
39
محل سکونت
تهران
آقا من با این دستور زیاد کار کردم این مشکل الانم نمیدونم از چیه
ببینید من یه صفحه گذاشتم واسه ادیت کردن مقالاتی که قبلا ارسال شده که توش اشکالات مقاله رو برطرف کنم.
مقاله رو توی یه تکست باکس لود میکنم و ایراداتشو برطرف میکنم و مقدار تکست باکسو به وسیله ی دستور آپدیت سیو مینم ولی مشکل اینه که هیچی سیو نمیشه یا شایدم همون مقدار اولیه ی تکست باکس بدون تغییرات سیو میشه
میخواستم بدونم مشکل کجاست؟
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
مسلما اشکال از کدته! همینطوری که ما نمیتونیم بگیم...یکم روش کار کن پیدا نکردی کد رو بگذاری حتما جواب میگیری.
 

shervin

ASP.net
کاربر قدیمی پرشین تولز
تاریخ عضویت
26 ژوئن 2005
نوشته‌ها
6,353
لایک‌ها
261
سن
39
محل سکونت
تهران
اینم کد
کد:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        cm = New SqlCommand("update article set text = @text where artname = '" & artname & "'", cn)
        cm.Parameters.Add("@text", TextBox1.Text)
        cn.Open()
        cm.ExecuteNonQuery()
        cn.Close()
        Response.Redirect("editarticle.aspx?edited=yes")
    End Sub
 

Y2K

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
656
لایک‌ها
1
محل سکونت
Location
اینم کد
کد:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        cm = New SqlCommand("update article set text = @text where artname = '" & artname & "'", cn)
        cm.Parameters.Add("@text", TextBox1.Text)
        cn.Open()
        cm.ExecuteNonQuery()
        cn.Close()
        Response.Redirect("editarticle.aspx?edited=yes")
    End Sub

شروین
artname رو کجا مقدار دهی میکنی؟ گلوبال تعریف کردی
این کدت رو هم trace کن به خطی که پارامتر رو تعریف میکنی رسیدی ببین مقدار textbox چقدره
 

shervin

ASP.net
کاربر قدیمی پرشین تولز
تاریخ عضویت
26 ژوئن 2005
نوشته‌ها
6,353
لایک‌ها
261
سن
39
محل سکونت
تهران
پست اشتباهی زده شد
 

shervin

ASP.net
کاربر قدیمی پرشین تولز
تاریخ عضویت
26 ژوئن 2005
نوشته‌ها
6,353
لایک‌ها
261
سن
39
محل سکونت
تهران
اینم کل کد
کد:
Imports System.Data
Imports System.Data.SqlClient
Public Class editing
    Inherits System.Web.UI.Page
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label
    Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region
    Dim cn As New SqlConnection("server=localhost;uid=sa;pwd=123;database=article;")
    Dim cm As SqlCommand
    Dim artname As String
    Dim text As String
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        artname = Request.QueryString("name")
        cm = New SqlCommand("select text from article where artname='" & artname & "'", cn)
        cn.Open()
        TextBox1.Text = cm.ExecuteScalar
        cn.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        cm = New SqlCommand("update article set text = @text where artname = '" & artname & "'", cn)
        cm.Parameters.Add("@text", TextBox1.Text)
        cn.Open()
        cm.ExecuteNonQuery()
        cn.Close()
        Response.Redirect("editarticle.aspx?edited=yes")
    End Sub
End Class
 

Y2K

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
656
لایک‌ها
1
محل سکونت
Location
میگم ای خدا این شروین این مشکلات رو از کجا میاره ها:D :D :D :D
 

shervin

ASP.net
کاربر قدیمی پرشین تولز
تاریخ عضویت
26 ژوئن 2005
نوشته‌ها
6,353
لایک‌ها
261
سن
39
محل سکونت
تهران
نیس من خیلی حرفه ایم مشکلاتمم حرفه ایهِ :D
 

mosyhey1

Registered User
تاریخ عضویت
27 جولای 2005
نوشته‌ها
225
لایک‌ها
4
جالب هم این است که همه مشکلات را هم خودشان حل می کنند و همه انگشت به دهان می مانند.
 

Y2K

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
656
لایک‌ها
1
محل سکونت
Location
شروین اول کل دستورات داخل تابع پیج لود رو بذار بین if زیر

کد:
If IsPostBack = False Then
دستورات
End If

بعدش هم اول تابع باتن کلیک
خط زیر رو اضافه کن

کد:
  artname= Request.QueryString("name")

دلیلش هم اینه که چون صفحه post back میشه (یعنی مقادیر به خودش ارسال میشه) در نتیجه دوباره تابع پیج لود فراخونی میشه و دستورات داخل اون دوباره اجرا میشن. با اون دستور if از اجرای دوباره دستوراتی که میخوایم وقتی صفحه برای بار اول لود شد، اجرا بشن جلوگیری می کنیم
 

Y2K

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
656
لایک‌ها
1
محل سکونت
Location
البته میتونی دستور

artname= Request.QueryString("name")

رو از تابع باتن کلیک و داخل شرط حذفش کنی و بذاریش قبل از بررسی شرط
 

shervin

ASP.net
کاربر قدیمی پرشین تولز
تاریخ عضویت
26 ژوئن 2005
نوشته‌ها
6,353
لایک‌ها
261
سن
39
محل سکونت
تهران
ایوووووووول درست شددد
حالا من میخواستم آب بخورمم ispostback میزاشتما اینجا اصلا به ذهنمم نرسید:D
دستت درد نکنه
 
بالا