آژانس هواپیماییexchanging

درخواست راهنمایی برای Ado.net

شروع موضوع توسط amir_3d_mad ‏26 نوامبر 2007 در انجمن asp , ASP.NET

  1. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    من میخوام وقتی کاربر وارد صفحه خبر میشه با یک تابع تعداد بازدید از اون خبر +1 بشه .
    یعنی در تابع زیر :
    کد:
    [LEFT]    Private Sub AddHit(ByVal newsid As String)
            Dim Conn As New Data.OleDb.OleDbConnection("---")
            Conn.Open()
            Dim strSqlQuery As String = "UPDATE [coding_news] SET [newsCounter] =" & (???) & " WHERE [newsID] =" & newsid
            Dim objComm As New Data.OleDb.OleDbCommand(strSqlQuery, Conn)
            objComm.ExecuteNonQuery()
            Conn.Close()
            Conn.Dispose()
        End Sub[/LEFT]
    به جای (???) چی قرار بدم تا این اتفاق بیفته ؟
    در ضمن من شماره اون خبر رو از طریق QueryString دریافت میکنم و در اون صفحه فقط یک خبر وجود داره .
    یعنی میخوام وقتی کاربر دکمه "ادامه خبر" رو کلیک میکنه ، وارد صفحه دیگه بشه و هنگام ورود ، شماره Counter اون خبر به اضافه ی 1 بشه .
     
  2. ma_christian

    ma_christian Registered User

    تاریخ عضویت:
    ‏25 ژانویه 2007
    نوشته ها:
    366
    تشکر شده:
    2
    محل سکونت:
    Tehran
    فکر کنم این جواب بده البته بطور دقیق نمی دونم ...

    ؟؟؟ = newsCounter + 1
     
  3. Graveworm

    Graveworm Registered User

    تاریخ عضویت:
    ‏23 می 2005
    نوشته ها:
    1,063
    تشکر شده:
    12
    محل سکونت:
    Tehran
    این رو تست کنید

    کد:
    UPDATE [coding_news] SET [newsCounter] = ( select [newscounter] from [coding_news] where [newsID] =" & newsid &") + 1 WHERE [newsID] =" & newsid
    
     
  4. mehdivk

    mehdivk Registered User

    تاریخ عضویت:
    ‏5 آپریل 2006
    نوشته ها:
    319
    تشکر شده:
    0
    فرض می کنم که جدول خبرهای شما دارای ستونی با نام Counter می باشد.

    UPDATE NewsTable SET Counter = Counter + 1 WHERE NewsID=1

    که بجای اون 1 شماره خبر قرار میگیره .

    البته وقتی میخوای اطلاعات خبر رو از طریق SELECT به کاربر نشون بدی هم میتونی این کامند رو قبلش اجرا کنی با این روش به جای 2 بار وصل شدن به Database یک بار وصل شدی که از لحاظ Performance خیلی بهتره

    این کد:
    UPDATE NewsTable SET Counter = Counter + WHERE NewID=1;SELECT * FROM News WHERE NewsID=1
    هم واسه روش دوم
     
  5. Graveworm

    Graveworm Registered User

    تاریخ عضویت:
    ‏23 می 2005
    نوشته ها:
    1,063
    تشکر شده:
    12
    محل سکونت:
    Tehran
    پس counter + 1 هم جواب میده
    نمیدونستم
    متشکر :دی
     
  6. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    کد:
    [LEFT]"UPDATE [news] SET newsCounter = newsCounter + 1 WHERE [newsID] =" & newsid[/LEFT]
    جواب داد . خیلی ممنون از همگی .
    یه مشکل دیگه دارم :
    برای اینکه بین اخبار جستجو بزارم از کد زیر استفاده کردم ، ولی کار نکرد :
    کد:
    [LEFT]    Private Sub fillrptsearch(ByVal SearchText As String)
            Dim conn As New Data.OleDb.OleDbConnection("---")
            conn.Open()
            Dim ds As New Data.DataSet
            Dim adapt As New Data.OleDb.OleDbDataAdapter("SELECT * FROM [news] WHERE ( newsText LIKE '%' +" & SearchText & "+ '%')", conn)
            adapt.Fill(ds, "coding_news")
            rptdetails.DataSource = ds
            rptdetails.DataBind()
        End Sub
        Protected Sub newsSearchButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            Dim SearchText As String = newsSearch.Text.ToString
            fillrptsearch(SearchText)
        End Sub[/LEFT]
    به نظرتون مشکلش چی میتونه باشه ؟
    موقع جستجوی عدد این ارور رو میده :
    کد:
    [LEFT]
    Operand type clash: int is incompatible with ntext[/LEFT]
    موقع جستجوی حروف هم مینویسه :
    کد:
    [LEFT]Invalid column name 'رشته مورد جستجو'[/LEFT]
     
  7. Graveworm

    Graveworm Registered User

    تاریخ عضویت:
    ‏23 می 2005
    نوشته ها:
    1,063
    تشکر شده:
    12
    محل سکونت:
    Tehran
    کد کنترل rptdetails هم paste کن ..
     
  8. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    ببخشید متوجه نشدم چیکار باید بکنم ؟
     
  9. amin_lili

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

    تاریخ عضویت:
    ‏24 آپریل 2007
    نوشته ها:
    528
    تشکر شده:
    2
    محل سکونت:
    ای کاش آنجا ...
    یه جایی مقدار int رو به یه مقدار ntext نسبت دادی . بگرد توی کدت پیداش کن.
     
  10. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    آقا مشکل همچنان حل نشده .
    این قسمت Search به هیچ صراطی مستقیم نیست !
    هر کاریش میکنم باز همون ارورها رو میده .
    اگه لطف کنید بیشتر مطالعه اش کنید ممنون میشم .
    مرسی .
     
  11. Graveworm

    Graveworm Registered User

    تاریخ عضویت:
    ‏23 می 2005
    نوشته ها:
    1,063
    تشکر شده:
    12
    محل سکونت:
    Tehran
    از html source کد مربوط به rptdetails رو paste کن ، شاید اونجا مشکلی باشه
     
  12. amir_3d_mad

    amir_3d_mad Registered User

    تاریخ عضویت:
    ‏4 ژوئن 2007
    نوشته ها:
    98
    تشکر شده:
    0
    این کد بیهایند :
    کد:
    [LEFT]    Private Sub fillrptsearch(ByVal SearchText As String)
            Dim conn As New Data.OleDb.OleDbConnection("---")
            conn.Open()
            Dim ds As New Data.DataSet
            Dim strSql As String = ("SELECT * FROM [news] WHERE [newsText] LIKE ('%' + " & SearchText & " + '%')")
            Dim adapt As New Data.OleDb.OleDbDataAdapter(strSql, conn)
            adapt.Fill(ds, "news")
            rptnewssearch.DataSource = ds
            rptnewssearch.DataBind()
        End Sub
        Protected Sub newsSearchButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            fillrptsearch(newsSearch.Text)
        End Sub[/LEFT]
    اینم کد rptnewssearch :

    کد:
    [LEFT]<asp:Repeater ID="rptnewssearch" runat="server">
    <ItemTemplate>
    	            <table border="0" cellpadding="1" cellspacing="0" width="754em">
                    <tr>
                        <td align="center">
                            <table class="DataGrid" cellspacing="0" cellpadding="0" border="0" id="dgNews" style="border-width:0px;border-style:None;width:96%;border-collapse:collapse;">
    	<tr>
    		<td>
                                            <table border="0" cellpadding="1" cellspacing="0" width="100%">
                                                <tr>
                                                    <td align="right" class="newTitle">
                                                        <%#DataBinder.Eval(Container.DataItem, "newsTitle")%>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td dir="rtl" align="right">
                                                        <table border="0" cellpadding="0" cellspacing="0" width="10">
                                                            <tr>
                                                                <td>
                                                                    <img src="Images/news/icon_source.gif" alt="منبع" style="padding-left: 5px;" /></td>
                                                                <td style="width: 100%" nowrap="nowrap">
                                                                    <%# DataBinder.Eval(Container.DataItem,"newsSource")%>
                                                                    &nbsp;&nbsp;</td>
                                                                <td>
                                                                    <img src="Images/news/Author.gif" alt="نويسنده" style="padding-left: 5px;" /></td>
                                                                <td style="width: 100%" nowrap="nowrap">
                                                                    <%# DataBinder.Eval(Container.DataItem,"newsWriter")%>
                                                                    &nbsp;&nbsp;</td>
                                                                <td>
                                                                    <img src="Images/news/type.gif" alt="نوع" style="padding-left: 5px;" /></td>
                                                                <td style="width: 100%" nowrap="nowrap">
                                                                    <%#DataBinder.Eval(Container.DataItem, "newsType")%>
                                                                    &nbsp;&nbsp;</td>
                                                                <td>
                                                                    <img src="Images/news/icon_calendar.gif" alt="تاريخ" style="padding-left: 2px;" /></td>
                                                                <td style="width: 100%" dir="rtl" nowrap="nowrap">
                                                                    <%# DataBinder.Eval(Container.DataItem,"newsDate")%>
                                                                </td>
                                                                <td>
                                                                    &nbsp;&nbsp;&nbsp;&nbsp;<img src="Images/news/icon_bazdid.gif" alt="تعداد بازدید"
                                                                        style="padding-left: 5px;" /></td>
                                                                <td style="width: 100%" nowrap="nowrap">
                                                                    <%#DataBinder.Eval(Container.DataItem, "newsCounter")%>
                                                                    &nbsp;&nbsp;</td>
                                                                <td>
                                                                    <img src="Images/news/icon_newscode.gif" alt="کد خبر" style="padding-left: 5px;" /></td>
                                                                <td style="width: 100%" nowrap="nowrap">
                                                                    <%# DataBinder.Eval(Container.DataItem,"newsID")%>
                                                                    &nbsp;&nbsp;</td>
                                                            </tr>
                                                        </table>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td valign="top" align="right" dir="rtl" style="padding-top: 5px;text-align :justify">
                                                        <img style="padding-left: 5px; float: right; display: block;" src="Images/news/pictures/<%# DataBinder.Eval(Container.DataItem,"newsID")%>.gif"
                                                            alt="" /><%#(Left(System.Web.HttpUtility.HtmlDecode(DataBinder.Eval(Container.DataItem, "newsText")), 300))%> ...
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <table border="0" cellpadding="0" cellspacing="0" width="70" align="left">
                                                            <tr>
                                                                <td>
                                                                    <img src="Images/news/arrow_more.gif" /></td>
                                                                <td class="newMore" style="width: 100%">
                                                                    <a href='<%# "news.aspx?newsTab=0&newsID=" & DataBinder.Eval(Container.DataItem,"newsId")%>'>ادامه خبر</a></td>
                                                            </tr>
                                                        </table>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td style="border-top: 1px dashed #ff6a00;">
                                                        &nbsp;</td>
                                                </tr>
                                            </table>
                                        </td>
    	</tr>
    </table>
                        </td>
                    </tr>
                    <tr>
                </table>
    </ItemTemplate>
    </asp:Repeater>
    [/LEFT]
     
  13. avajang.com .leftavajang.com.right