C# 实现数据库照片读取与操作教程

需积分: 7 0 下载量 115 浏览量 更新于2024-07-18 收藏 55KB DOC 举报
"这篇资源主要介绍了如何在C#中进行数据库操作,特别是读取和管理照片数据。示例代码展示了数据库连接、记录插入以及记录修改的基本步骤。" 在C#编程中,数据库操作是常见的任务,特别是在开发需要存储和检索数据的应用程序时。本资源提供的代码示例聚焦于使用C#与SQL Server数据库进行交互,主要涵盖三个关键部分:数据库连接、数据插入以及数据修改。 首先,我们来看数据库连接的代码。在C#中,可以使用SqlConnection类来建立与SQL Server的连接。以下是一段创建连接的示例: ```csharp SqlConnection objSqlConnection = new SqlConnection("server=127.0.0.1;uid=sa;pwd=;database=test"); objSqlConnection.Open(); ``` 这里,我们使用了 SqlConnection 的构造函数,传入一个包含服务器地址(IP或主机名)、用户名(uid)、密码(pwd)和数据库名称的连接字符串。然后调用 `Open()` 方法打开连接。 接下来,资源展示了如何向数据库添加新记录。假设有一个名为 "info" 的表,包含 "id"、"name" 和 "sex" 三个字段,我们可以这样插入数据: ```csharp int i = 0; string s1 = "", s2 = ""; // 假设这些值来自文本框 i = Convert.ToInt16(textBox1.Text); s1 = textBox2.Text; s2 = textBox3.Text; // 创建新的SqlConnection对象并打开连接 // ...(省略的数据库连接代码) try { SqlCommand sqlcom = new SqlCommand("insert into info(id, name, sex) values(@id, @name, @sex)", objSqlConnection); sqlcom.Parameters.AddWithValue("@id", i); sqlcom.Parameters.AddWithValue("@name", s1); sqlcom.Parameters.AddWithValue("@sex", s2); sqlcom.ExecuteNonQuery(); MessageBox.Show("添加成功!", "啊"); } catch (Exception a) { MessageBox.Show(a.ToString()); } ``` 在这个例子中,我们使用了SqlCommand类来执行SQL插入语句,并使用参数化查询防止SQL注入攻击。`ExecuteNonQuery()` 方法用于执行非查询操作,如插入、更新和删除。 最后,资源提到了数据修改的代码,即更新数据库中的记录。假设我们想要更新 "info" 表中某个记录的 "name" 和 "sex" 字段: ```csharp int i = 0; string s1 = "", s2 = ""; // 获取待更新的id,name和sex // ...(省略的变量赋值代码) // 创建新的SqlConnection对象并打开连接 // ...(省略的数据库连接代码) try { SqlCommand sqlcom = new SqlCommand("update info set name=@name, sex=@sex where id=@id", objSqlConnection); sqlcom.Parameters.AddWithValue("@id", i); sqlcom.Parameters.AddWithValue("@name", s1); sqlcom.Parameters.AddWithValue("@sex", s2); int rowsAffected = sqlcom.ExecuteNonQuery(); if (rowsAffected > 0) { MessageBox.Show("修改成功!", "啊"); } } catch (Exception a) { MessageBox.Show(a.ToString()); } ``` 这个例子展示了如何使用 `UPDATE` SQL 语句来修改数据,并通过 `ExecuteNonQuery()` 返回受影响的行数来判断操作是否成功。 这个资源提供了基础的C#数据库操作示例,对于初学者或者需要快速参考的人来说非常有用。不过,实际应用中应确保对异常进行适当的处理,同时考虑到安全性、性能优化以及最佳实践。例如,避免硬编码连接字符串,使用配置文件存储敏感信息,以及使用更安全的方式处理用户输入等。