SentRequestDAO

 avatar
hacker98
plain_text
9 months ago
4.1 kB
2
Indexable
DAO
package com.example.chatappdemo.DAO;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

import com.example.chatappdemo.DatabaseHelper;
import com.example.chatappdemo.model.SentRequest;

import java.util.ArrayList;
import java.util.List;

public class SentRequestDAO {
    private SQLiteDatabase db;
    private SQLiteOpenHelper dbHelper;

    // Constructor
    public SentRequestDAO(Context context) {
        dbHelper = new DatabaseHelper(context);
    }

    // Mở kết nối
    private void open() throws SQLException {
        db = dbHelper.getWritableDatabase();
    }

    // Đóng kết nối
    private void close() {
        if (db != null && db.isOpen()) {
            db.close();
        }
    }

    // Thêm dữ liệu vào bảng sent_request
    public long insertSentRequest(SentRequest sentRequest) {
        open();
        ContentValues values = new ContentValues();
        values.put("IPSent", sentRequest.getIPSent());
        values.put("name", sentRequest.getName());
        values.put("status", sentRequest.getStatus());
        long result = 0;
        try {
            result = db.insert("SentRequest", null, values);
        } catch (SQLException e) {
            e.printStackTrace();
            Log.d("SentRequestDAO", e.getMessage());
        }
        close();
        return result;
    }

    // Cập nhật dữ liệu trong bảng sent_request
    public int updateSentRequest(SentRequest sentRequest) {
        open();
        ContentValues values = new ContentValues();
        values.put("IPSent", sentRequest.getIPSent());
        values.put("name", sentRequest.getName());
        values.put("status", sentRequest.getStatus());

        int result = db.update("SentRequest", values, "IPSent = ?", new String[]{sentRequest.getIPSent()});
        close();
        return result;
    }

    // Lấy dữ liệu từ bảng sent_request theo IP_sent
    public SentRequest getSentRequestByIP(String IP_sent) {
        SentRequest sentRequest = null;
        open();

        Cursor cursor = db.query("SentRequest", null, "IPSent = ?", new String[]{IP_sent}, null, null, null);
        if (cursor != null && cursor.moveToFirst()) {
            sentRequest = new SentRequest();
            sentRequest.setIPSent(cursor.getString(cursor.getColumnIndexOrThrow("IPSent")));
            sentRequest.setName(cursor.getString(cursor.getColumnIndexOrThrow("name")));
            sentRequest.setStatus(cursor.getString(cursor.getColumnIndexOrThrow("status")));
        }

        if (cursor != null) {
            cursor.close();
        }
        close();
        return sentRequest;
    }

    // Xóa dữ liệu từ bảng sent_request theo IP_sent
    public void deleteSentRequestByIP(String IP_sent) {
        open();
        int rowsDeleted = db.delete("SentRequest", "IPSent = ?", new String[]{IP_sent});
        close();
    }

    // Lấy toàn bộ dữ liệu từ bảng sent_request
    public List<SentRequest> getAllSentRequests() {
        List<SentRequest> sentRequests = new ArrayList<>();
        open();
        Cursor cursor = db.query("SentRequest", null, null, null, null, null, null);
        if (cursor != null && cursor.moveToFirst()) {
            do {
                SentRequest sentRequest = new SentRequest();
                sentRequest.setIPSent(cursor.getString(cursor.getColumnIndexOrThrow("IPSent")));
                sentRequest.setName(cursor.getString(cursor.getColumnIndexOrThrow("name")));
                sentRequest.setStatus(cursor.getString(cursor.getColumnIndexOrThrow("status")));

                sentRequests.add(sentRequest);
            } while (cursor.moveToNext());
        }

        if (cursor != null) {
            cursor.close();
        }
        close();
        return sentRequests;
    }
}
Editor is loading...
Leave a Comment