{"id":15002968,"url":"https://github.com/bat0ri/mssql-client","last_synced_at":"2025-12-25T23:26:53.013Z","repository":{"id":210105284,"uuid":"725668475","full_name":"bat0ri/mssql-client","owner":"bat0ri","description":"Qt client for MS SQL datadase ","archived":false,"fork":false,"pushed_at":"2023-12-14T10:28:45.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-03-12T04:20:36.959Z","etag":null,"topics":["client","database","mssql","mssql-database","orm","orm-framework","qt6-application","qt6-gui","sql"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bat0ri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-30T16:15:26.000Z","updated_at":"2024-03-05T11:40:26.000Z","dependencies_parsed_at":"2024-10-12T07:21:10.518Z","dependency_job_id":null,"html_url":"https://github.com/bat0ri/mssql-client","commit_stats":null,"previous_names":["bat0ri/mssql-client"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bat0ri/mssql-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bat0ri%2Fmssql-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bat0ri%2Fmssql-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bat0ri%2Fmssql-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bat0ri%2Fmssql-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bat0ri","download_url":"https://codeload.github.com/bat0ri/mssql-client/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bat0ri%2Fmssql-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28040538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client","database","mssql","mssql-database","orm","orm-framework","qt6-application","qt6-gui","sql"],"created_at":"2024-09-24T18:54:28.746Z","updated_at":"2025-12-25T23:26:52.982Z","avatar_url":"https://github.com/bat0ri.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qt Database Client Application\n\nThis Qt-based application serves as a versatile client for database management, enabling users to execute SQL queries and utilize Object-Relational Mapping (ORM) functionalities. \n\n## Features\n\n- **SQL Query Execution**: Execute custom SQL queries directly through the application.\n- **ORM Support**: Utilize Object-Relational Mapping to interact with the database programmatically.\n- **Multi-Database Compatibility**: Compatible with various database systems, such as SQL Server, MySQL, PostgreSQL, etc.\n\n## Usage\n\n### Installation\n1. Clone this repository.\n2. Install necessary dependencies. (Provide details if any)\n3. Configure the database connection by modifying the provided connection string in the code.\n\n\n```cpp\ndb = QSqlDatabase::addDatabase(\"QODBC\");\nQString connectString = \"DRIVER={SQL Server};\";\nconnectString.append(\"SERVER=YOUR_SERVER_NAME\\YOUR_SQL_INSTANCE;\"); // Hostname, SQL-Server Instance\nconnectString.append(\"DATABASE=your_database_name;\"); // Schema\nconnectString.append(\"UID=your_username;\"); // User\nconnectString.append(\"PWD=your_password;\"); // Pass\nconnectString.append(\"Trusted_Connection=Yes;\");\ndb.setDatabaseName(connectString);\n```\n\nSimply replace YOUR_SERVER_NAME, YOUR_SQL_INSTANCE, your_base_name, your_username and your_password with the appropriate values ​​for your database data.\n\n## PART ONE\n\n- **Tables Creation**: Utilized SQL queries to create three tables incorporating concepts like NOT NULL, DEFAULT, PRIMARY KEY, CHECK, and IDENTITY.\n- **Inter-table Relations**: Established two inter-table relationships:\n  1. One without systemic cascading deletion and updating.\n  2. Another with systemic cascading deletion and updating (ON DELETE CASCADE ON UPDATE CASCADE).\n- **Stored Procedure Creation**: Developed a stored procedure with output parameters.\n\n## PART TWO\n\n- **Client-Side Implementation**:\n  - Developed a user interface with a main screen form displaying tables from the database.\n  - Implemented database connection using QODBC driver to QSqlDatabase datatype and employed QSqlTableModel for each table with an OnManualSubmit hashing strategy.\n\n- **Alternative Form and Views**:\n  - Created an alternative form dynamically displaying all tables in one QSqlTableModel.\n  - Established a VIEW on the server, presenting data from three tables as a single connected table and displayed it on a separate form.\n  - Displayed the output of a stored procedure in a Label on the main or alternative form.\n\n### Task Implementations\n\n1. **Task 1**:\n   - Utilized SQL queries to gather information about deliveries from contracts ending in the current year.\n\n2. **Task 2**:\n   - Employed SQL queries with grouping or window functions to collect information about deliveries from contracts ending in the current year.\n\n3. **Task 3**:\n   - Implemented various methods to retrieve information about the availability of parts at warehouses based on specific criteria, including expression RA, RIK language query, and SQL queries with subqueries.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbat0ri%2Fmssql-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbat0ri%2Fmssql-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbat0ri%2Fmssql-client/lists"}