点击内容进行查询详情

1.连接数据库

2.创建表两个

3.主键表

字段名类型约束
IDint主键,自增
Contentnvarchar(20)非空

4.外键表

字段名类型约束
IDint主键,自增
Titlenvarchar(20)非空
Authornvarchar(20)非空
Contnvarchar(50)非空
Leibieint非空,外键,主键表ID
Datadate默认当前日期

5.往两个表中添加数据,

项目操作

1.创建ASP.NET项目(.NET FromeWork) 

2.创建类库Model 

3.创建第二个类库DAL 

4.创建第三个类库BLL 

5.给Model层添加ADO.NET实体数据模型

6.跟着操作一路走下去,连接最终到连接数据库

DAL层操作

1.引用Model层

2.添加引用EntityFromework

3..添加引用EntityFromework.sqlserver

4.创建二个类,因为有两个表,一个类对应一个表

5.主键表操作代码如下:

ZuoEntities db = new ZuoEntities();
        public IEnumerable<Catelog> Select()
        {
            var result = from u in db.Catelog select u;
            return result.ToList();
        }

6.外键表操作代码如下:

ZuoEntities db = new ZuoEntities();
        public object Select()
        {
            var result = (from a in db.Article
                          join c in db.Catelog
                          on a.Leibie equals c.ID
                          select new {a.ID,a.Title,a.Author, a.Data,a.Cont,c.Content }).ToList();
            return result;

        }   
    
        查看详情代码
         public object Sel(int id)
        {
            var result = from a in db.Article where a.ID==id select new { a.Title, a.Cont };
            return result.ToList();
        }

BLL层操作

1.引用模型层和DAL层

2.针对两个表进行操作

3.创建二个类,因为有两个表,一个类对应一个表

4.外键表代码如下:

ArtDAO da = new ArtDAO();
        public object Select()
        {
            return da.Select();
        }
      
        查看详情
          public object Sel(int id)
        {
            return da.Sel(id);
        }

视图层asp.net操作

1.引用Model层,以及BLL层

2.添加引用EntityFromework

3..添加引用EntityFromework.sqlserver

4.在Model层中找到App.config文件

5.剪切文件

6.将刚才剪切的代码放入视图层web.config中

7.创建新窗体fault命名

8.代码如下:

 <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
   <ItemTemplate>
 <div style="border: 1px solid #ffd800; width: 250px; margin: 0 auto; margin-top: 10px;  border-radius: 35px; background-color: lightgray;">

                            <div style="flex-direction: row; text-align: center; margin: 0 auto;">

                                <span style="color:white">编号<%# Eval("ID") %></span>

                                <p style="color: mediumpurple">标题:<%# Eval("Title") %></p>

                                <span style="color: #d200ff">作者:<%# Eval("Author") %></span>
                                <p style="color: aquamarine">日期:<%# Eval("Data") %></p>

                                <div style="border: 1px solid white; background-color: pink; border-radius: 20px;">
                                    <p>
                                        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="di" CommandArgument='<%# Eval("ID") %>' ForeColor="#ccffff"><%# Eval("Cont") %></asp:LinkButton>
                                    </p>

                                </div>
                                <span >类别:<%# Eval("Content") %></span>
                            </div>
                        </div>
                          </ItemTemplate>

9.repeater控件绑定代码如下:

 ArtService se = new ArtService();
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Repeater1.DataSource = se.Select();
            this.Repeater1.DataBind();
        }

10.注意LinkButton控件里边的两个很重要的属性 一个是CommandName这个属性是命名,咱们就以di来 另一个是CommandArgument这个是绑定的ID,及待会要进行的ID查看,也是进行传值

11.在repeater控件中添加一个属性OnItemCommand,该属性是用来写方法的

12.新建一个web窗体xq.aspx,待会进行跳转查询详情信息

13.在xq.aspx窗体里边添加数据,代码如下:

<asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <div style="margin:0px auto;width:250px;height:100px;border-radius:50px;line-height:40px; text-align:center;background-color:aquamarine">
                        <p>标题:<%# Eval("Title") %></p>
                        <p>内容:<%# Eval("Cont") %></p>
                    </div>
                </ItemTemplate>
            </asp:Repeater>

14.转到刚才在repeater控件中添加的属性OnItemCommand后台代码,如下:

 protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
        int id = int.Parse(e.CommandArgument.ToString());
            if (e.CommandName == "di")
            {
                Response.Redirect("xq.aspx?id="+id);
            }
        }

15.因为发送了id值过来,我们需要进行接收。

16.在xq.aspx窗体中,转到后台代码进行接收如下:

此代码是为了接收传过来的id值
 int id = int.Parse(Request.QueryString["id"]);

17.完整的详情如下:

public partial class xq : System.Web.UI.Page
    {
        ArtService se = new ArtService();
        protected void Page_Load(object sender, EventArgs e)
        {
            int id = int.Parse(Request.QueryString["id"]);
           
            this.Repeater1.DataSource = se.Sel(id);
            this.Repeater1.DataBind();
        }
    }

本次的代码教学到此结束,您学会了吗?

好的,您可以按照以下步骤来实现: 1. 首先,您需要在您的安卓应用中创建一个数据库,并将数据存入其中。 2. 然后,您需要创建一个列表视图来显示数据库中的内容。 3. 在列表视图中,您需要为每个数据项添加一个点击事件监听器。 4. 在点击事件监听器中,您可以获取该数据项的详细信息,并将其传递到另一个活动(Activity)中。 5. 最后,在另一个活动中,您可以显示该数据项的详细信息。 下面是一个示例代码,仅供参考: 1. 创建数据库: ```java public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "my_database"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT, content TEXT)"); // 添加数据到数据库 db.execSQL("INSERT INTO my_table (id, name, content) VALUES (1, '标题1', '内容1')"); db.execSQL("INSERT INTO my_table (id, name, content) VALUES (2, '标题2', '内容2')"); db.execSQL("INSERT INTO my_table (id, name, content) VALUES (3, '标题3', '内容3')"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS my_table"); onCreate(db); } } ``` 2. 创建列表视图: ```java public class MainActivity extends AppCompatActivity { private ListView listView; private MyDatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHelper = new MyDatabaseHelper(this); listView = findViewById(R.id.list_view); // 查询数据库中的数据 SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.query("my_table", null, null, null, null, null, null); List<Map<String, Object>> data = new ArrayList<>(); while (cursor.moveToNext()) { Map<String, Object> item = new HashMap<>(); item.put("id", cursor.getInt(cursor.getColumnIndex("id"))); item.put("name", cursor.getString(cursor.getColumnIndex("name"))); data.add(item); } cursor.close(); // 显示数据到列表视图 SimpleAdapter adapter = new SimpleAdapter(this, data, android.R.layout.simple_list_item_1, new String[]{"name"}, new int[]{android.R.id.text1}); listView.setAdapter(adapter); // 为每个数据项添加点击事件监听器 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 获取该数据项的详细信息 Map<String, Object> item = (Map<String, Object>) parent.getItemAtPosition(position); int itemId = (int) item.get("id"); String itemContent = getItemContent(itemId); // 将详细信息传递到另一个活动中 Intent intent = new Intent(MainActivity.this, DetailActivity.class); intent.putExtra("content", itemContent); startActivity(intent); } }); } private String getItemContent(int itemId) { SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.query("my_table", new String[]{"content"}, "id = ?", new String[]{String.valueOf(itemId)}, null, null, null); String content = ""; if (cursor.moveToFirst()) { content = cursor.getString(cursor.getColumnIndex("content")); } cursor.close(); return content; } @Override protected void onDestroy() { super.onDestroy(); dbHelper.close(); } } ``` 3. 创建另一个活动(DetailActivity): ```java public class DetailActivity extends AppCompatActivity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_detail); textView = findViewById(R.id.text_view); // 显示详细信息 String content = getIntent().getStringExtra("content"); textView.setText(content); } } ``` 以上就是实现安卓读取数据库内容然后点击内容跳转到内容详情的基本步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值