{"id":8077,"date":"2024-03-14T07:30:58","date_gmt":"2024-03-14T07:30:58","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/"},"modified":"2025-08-03T00:20:47","modified_gmt":"2025-08-03T00:20:47","slug":"how-to-connect-a-database-and-perform-crud-operations-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/","title":{"rendered":"C++ Database Connection &#038; CRUD Tutorial"},"content":{"rendered":"<p>In order to connect to a database, implement insert, delete, update, and select operations in C++, it is usually necessary to use a database connection library such as ODBC, MySQL Connector\/C++, or SQLite C\/C++. Below is an example code using ODBC to connect to a database and perform these operations.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;iostream&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;sql.h&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;sqlext.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    <span class=\"hljs-comment\">\/\/ \u521d\u59cb\u5316ODBC\u73af\u5883<\/span>\r\n    SQLHENV henv;\r\n    <span class=\"hljs-built_in\">SQLAllocHandle<\/span>(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &amp;henv);\r\n    <span class=\"hljs-built_in\">SQLSetEnvAttr<\/span>(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, <span class=\"hljs-number\">0<\/span>);\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u8fde\u63a5\u6570\u636e\u5e93<\/span>\r\n    SQLHDBC hdbc;\r\n    <span class=\"hljs-built_in\">SQLAllocHandle<\/span>(SQL_HANDLE_DBC, henv, &amp;hdbc);\r\n    <span class=\"hljs-built_in\">SQLConnect<\/span>(hdbc, (SQLCHAR*)<span class=\"hljs-string\">\"DSN=YourDSN;UID=YourUID;PWD=YourPWD\"<\/span>, SQL_NTS);\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u6267\u884cSQL\u8bed\u53e5<\/span>\r\n    SQLHSTMT hstmt;\r\n    <span class=\"hljs-built_in\">SQLAllocHandle<\/span>(SQL_HANDLE_STMT, hdbc, &amp;hstmt);\r\n    <span class=\"hljs-built_in\">SQLExecDirect<\/span>(hstmt, (SQLCHAR*)<span class=\"hljs-string\">\"SELECT * FROM YourTable\"<\/span>, SQL_NTS);\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u5904\u7406\u67e5\u8be2\u7ed3\u679c<\/span>\r\n    SQLCHAR buffer[<span class=\"hljs-number\">256<\/span>];\r\n    <span class=\"hljs-built_in\">SQLBindCol<\/span>(hstmt, <span class=\"hljs-number\">1<\/span>, SQL_C_CHAR, buffer, <span class=\"hljs-built_in\">sizeof<\/span>(buffer), <span class=\"hljs-literal\">NULL<\/span>);\r\n    <span class=\"hljs-keyword\">while<\/span> (<span class=\"hljs-built_in\">SQLFetch<\/span>(hstmt) == SQL_SUCCESS) {\r\n        std::cout &lt;&lt; buffer &lt;&lt; std::endl;\r\n    }\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u91ca\u653e\u8d44\u6e90<\/span>\r\n    <span class=\"hljs-built_in\">SQLFreeHandle<\/span>(SQL_HANDLE_STMT, hstmt);\r\n    <span class=\"hljs-built_in\">SQLDisconnect<\/span>(hdbc);\r\n    <span class=\"hljs-built_in\">SQLFreeHandle<\/span>(SQL_HANDLE_DBC, hdbc);\r\n    <span class=\"hljs-built_in\">SQLFreeHandle<\/span>(SQL_HANDLE_ENV, henv);\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>In this example, we first initialize the ODBC environment, then connect to the database, execute an SQL query, handle the query results, and finally release resources. You can modify the connection string, SQL statement, and result handling approach based on your specific needs. Additionally, you can use other database connection libraries to achieve CRUD operations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In order to connect to a database, implement insert, delete, update, and select operations in C++, it is usually necessary to use a database connection library such as ODBC, MySQL Connector\/C++, or SQLite C\/C++. Below is an example code using ODBC to connect to a database and perform these operations. #include &lt;iostream&gt; #include &lt;sql.h&gt; #include [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[10647,450,88,90,10648],"class_list":["post-8077","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c-database","tag-c-tutorial","tag-crud-operations","tag-database-programming","tag-odbc-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C++ Database Connection &amp; CRUD Tutorial - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn C++ database connection and CRUD operations with ODBC. Example code for insert, update, delete, and select queries.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ Database Connection &amp; CRUD Tutorial\" \/>\n<meta property=\"og:description\" content=\"Learn C++ database connection and CRUD operations with ODBC. Example code for insert, update, delete, and select queries.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T07:30:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-03T00:20:47+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"C++ Database Connection &#038; CRUD Tutorial\",\"datePublished\":\"2024-03-14T07:30:58+00:00\",\"dateModified\":\"2025-08-03T00:20:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/\"},\"wordCount\":112,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"C++ database\",\"C++ tutorial\",\"CRUD operations\",\"database programming\",\"ODBC C++\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/\",\"name\":\"C++ Database Connection & CRUD Tutorial - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T07:30:58+00:00\",\"dateModified\":\"2025-08-03T00:20:47+00:00\",\"description\":\"Learn C++ database connection and CRUD operations with ODBC. Example code for insert, update, delete, and select queries.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Database Connection &#038; CRUD Tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C++ Database Connection & CRUD Tutorial - Blog - Silicon Cloud","description":"Learn C++ database connection and CRUD operations with ODBC. Example code for insert, update, delete, and select queries.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/","og_locale":"en_US","og_type":"article","og_title":"C++ Database Connection & CRUD Tutorial","og_description":"Learn C++ database connection and CRUD operations with ODBC. Example code for insert, update, delete, and select queries.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T07:30:58+00:00","article_modified_time":"2025-08-03T00:20:47+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"C++ Database Connection &#038; CRUD Tutorial","datePublished":"2024-03-14T07:30:58+00:00","dateModified":"2025-08-03T00:20:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/"},"wordCount":112,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["C++ database","C++ tutorial","CRUD operations","database programming","ODBC C++"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/","name":"C++ Database Connection & CRUD Tutorial - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T07:30:58+00:00","dateModified":"2025-08-03T00:20:47+00:00","description":"Learn C++ database connection and CRUD operations with ODBC. Example code for insert, update, delete, and select queries.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-connect-a-database-and-perform-crud-operations-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C++ Database Connection &#038; CRUD Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=8077"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8077\/revisions"}],"predecessor-version":[{"id":152874,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8077\/revisions\/152874"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=8077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=8077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=8077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}