You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

103 lines
3.4 KiB

validation addmatiere
update annee scolaire
when delete matiere, delete also matiere_mention and matiere_semestre
SELECT *
FROM table_name
WHERE NOW() BETWEEN debut AND fin;
// End date (example)
const endDate = new Date("2025-03-20"); // Replace with your actual end date
// Calculate the date 3 months before the end date
const threeMonthsBefore = new Date(endDate);
threeMonthsBefore.setMonth(threeMonthsBefore.getMonth() - 3);
// Get the current date
const currentDate = new Date();
// Check if the current date is between threeMonthsBefore and endDate
if (currentDate >= threeMonthsBefore && currentDate <= endDate) {
console.log("The current date is within 3 months before the end date.");
} else {
console.log("The current date is outside the range.");
}
Since you have an **Ethernet network** (but no Wi-Fi or router), you can share the SQLite database (`data.db`) over the network by sharing a folder. Here's how you can do it:
---
### **Step 1: Share the Database Folder Over the Network**
#### **On PC 1 (Hosting the Database)**
1. **Locate the folder**
- Your database is at:
```
C:\electron\database\data.db
```
- Open **File Explorer** and go to `C:\electron\database\`.
2. **Right-click on the `database` folder → Click 'Properties'**
- Go to the **'Sharing'** tab.
- Click **'Advanced Sharing'**.
- Check **'Share this folder'**.
3. **Set Permissions**
- Click **'Permissions'**.
- Select **'Everyone'** and give **Full Control** (or at least Read/Write if both PCs need to modify the database).
- Click **OK** and **Apply**.
4. **Note the Network Path**
- Open **Command Prompt** (`Win + R` → `cmd` → Enter).
- Type:
```sh
ipconfig
```
- Look for your **Ethernet Adapter IPv4 Address** (e.g., `192.168.1.100`).
The shared path will be:
```
\\192.168.1.100\database
```
---
### **Step 2: Access the Database from PC 2**
#### **On PC 2 (Client PC)**
1. **Map the Network Drive**
- Open **File Explorer**.
- Click **'This PC' → 'Map Network Drive'**.
- Choose a drive letter (e.g., `Z:`).
- Enter the **Network Path** from Step 1 (e.g., `\\192.168.1.100\database`).
- Click **Finish**.
2. **Modify SQLite Connection in Electron**
In your Electron app on PC 2, change:
```javascript
const sqlite = require('better-sqlite3');
const database = new sqlite('//192.168.1.100/database/data.db');
```
OR, if you mapped it to `Z:\`:
```javascript
const database = new sqlite('Z:/data.db');
```
---
### **Step 3: Test the Connection**
1. **Run the Electron app on PC 2** and check if it can read/write to `data.db`.
2. If there's an error, check:
- **Folder permissions** (PC 1 should allow read/write access).
- **Windows Firewall** (Allow File Sharing for `Private Networks`).
- **Network Discovery** (Enable it in **Control Panel → Network & Sharing Center**).
---
### **Important Notes**
- **Concurrency Issues:** SQLite locks the file when writing, so only one PC should write at a time. If you need multiple write operations, consider using a **server-based approach** (like Node.js with Express).
- **Performance:** Network latency may cause slow database operations.
- **Auto-Reconnection:** If PC 1 reboots, PC 2 might lose connection. You can remap the drive automatically on startup.
---
**✅ Done!** Now both PCs can access `data.db` over Ethernet. 🚀
Let me know if you need further help!