آژانس هواپیمایی
pop up

کمک در مورد این کد جستجو

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

  1. peyman13618

    peyman13618 Registered User

    تاریخ عضویت:
    ‏28 آپریل 2005
    نوشته ها:
    161
    تشکر شده:
    0
    این یه صفحه جستجو توی یه دیتابیس با یه جدول هست که سه تا ستون subj, auth, vol داره.
    می خوام چیزی که تو textboxنوشته میشه مثلا توی subj جستجو بشه و بعد نتیجه رو نمایش بده. این کد ها رو نوشتم ولی الان موقع جستجو از gridview1.databinde ایراد میگیره و سبز میشه و مینویسه

    Both DataSource and DataSourceID are defined on 'GridView1'. Remove one definition.​

    اشکالش رو هرچی تلاش کردم نفهمیدم. اگه میشه یه نفر کمک کنه اینو سریع درستش کنم خیلی لازمش دارم. اگه نمیشه هم یه صفحه که کار بکنه واسه جستجو برام بفرستید خیلی خیلی ممنون میشم.
    این هم کدی که من نوشتم.
    <%@ Page Language="VB" AutoEventWireup="false" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>جستجوي عنوان مقالات </title>
    <script language="vbscript" runat="server" >


    Sub Show_result(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim con As New Data.OleDb.OleDbConnection
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("app_data/library.mdb")
    con.Open()
    Dim cmd As New Data.OleDb.OleDbCommand
    cmd.CommandText = "select * from tbl1 where subj=@s"
    cmd.CommandType = Data.CommandType.Text
    cmd.Connection = con
    Dim P1 As New Data.OleDb.OleDbParameter
    P1.ParameterName = "@s"
    P1.Value = TextBox1.Text
    cmd.Parameters.Add(P1)
    GridView1.DataSource = cmd.ExecuteReader
    GridView1.DataBind()
    con.Close()
    End Sub

    </script>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <center>
    <h4 dir="rtl" >شما می توانید جستجوی خود را بر اساس عنوان مقاله و یا نام نویسنده در بانک اطلاعاتی مقالات مجله انجام دهید</h4>
    <asp:TextBox ID="TextBox1" runat="server" Width="200"></asp:TextBox><br />
    <asp:Button ID="Button1" runat="server" OnClick="Show_result" Text="جستـجو" />
    &nbsp;
    <asp:DropDownList runat="server" ID="drop" AutoPostBack="True" DataTextField="subject" DataValueField="subject">
    <asp:ListItem Value="1">عنوان</asp:ListItem>
    <asp:ListItem Value="2">مولف</asp:ListItem>

    </asp:DropDownList>&nbsp;&nbsp;<br /><br />

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="AccessDataSource1">
    <Columns>
    <asp:BoundField DataField="subj" HeaderText="subj" SortExpression="subj" />
    <asp:BoundField DataField="auth" HeaderText="auth" SortExpression="auth" />
    <asp:BoundField DataField="vol" HeaderText="vol" SortExpression="vol" />
    </Columns>
    </asp:GridView>

    <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/library.mdb" SelectCommand="SELECT * FROM [tbl1] WHERE ([auth] = ?)">
    <SelectParameters>
    <asp:ControlParameter ControlID="TextBox1" Name="auth" PropertyName="Text" Type="String" />
    </SelectParameters>
    </asp:AccessDataSource>

    </center>
    </div>
    </form>
    </body>
    </html> ​
     
  2. Graveworm

    Graveworm Registered User

    تاریخ عضویت:
    ‏23 می 2005
    نوشته ها:
    1,063
    تشکر شده:
    12
    محل سکونت:
    Tehran
    خوب شما یه بار به gridview ، دیتاسورس دادی و تو sub که تعریف کردی یکی دیگه داری میدی !

    تو gridview این رو حذف کن
    DataSourceID="AccessDataSource1
    و تو page load از روی postback بهش دیتاسورس دیفالت رو بده
     
  3. peyman13618

    peyman13618 Registered User

    تاریخ عضویت:
    ‏28 آپریل 2005
    نوشته ها:
    161
    تشکر شده:
    0
    ممنون از راهنمایی شما.این قسمت رو متوجه نشدم راستش.میشه یه بار دیگه بفرمایید چه کار باید انجام بدم؟

    تو page load از روی postback بهش دیتاسورس دیفالت رو بده

    زیاد حالیم نیست از برنامه نویسی .الان هم که گیر کردم شدید .نمیدونم چی به چیه؟!:wacko: اگه لطف کنید ممنون میشم:blush: