c# - 我没有错误,但我无法在数据库中插入值,
问题描述
我正在尝试从我创建的值中获取值,并且代码在任何地方都没有显示任何错误,但是插入不起作用,值没有进入数据库。我并没有真正理解很多技术术语,因为我刚刚开始学习这个。
我的连接字符串代码
<add name="student_info" connectionString="Data Source=DESKTOP-GH4DT15\MSSQLSERVER01;Initial Catalog=RDO Student info; Integrated Security=True;"/>
这是我的插入代码
public bool insert (SchoolClass c)
{
bool isSuccess = false;
SqlConnection conn = new SqlConnection(mydbconnection);
DataTable dt = new DataTable();
try
{
string sql = "INSERT INTO student_info (schoolCode, shoolName, schoolOperater, district, taluka, uc, village, nearFamousPlace, studentName, GR, fatherName, CNIC, religion, gender, DOB_date, DOB_month, DOB_year, Address, DOA_date, DOA_month, DOA_year, classAdmitted, currentClass, section, sift, lastSchool, reasonToLeave, parentContact, emergency, DOS_date, DOS_month, DOS_year ) VALUES (@schoolCode, @shoolName, @schoolOperater, @district, @taluka, @uc, @village, @nearFamousPlace, @studentName, @GR, @fatherName, @CNIC, @religion, @gender, @DOB_date, @DOB_month, @DOB_year, @Address, @DOA_date, @DOA_month, @DOA_year, @classAdmitted, @currentClass, @section, @sift, @lastSchool, @reasonToLeave, @parentContact, @emergency, @DOS_date, @DOS_month, @DOS_year)";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.Parameters.AddWithValue("@schoolCode", c.schoolCode);
cmd.Parameters.AddWithValue("@schoolName", c.schoolName);
cmd.Parameters.AddWithValue("@schoolOperator", c.schoolOperator);
cmd.Parameters.AddWithValue("@district", c.district);
cmd.Parameters.AddWithValue("@taluka", c.taluka);
cmd.Parameters.AddWithValue("@uc", c.uc);
cmd.Parameters.AddWithValue("@village", c.village);
cmd.Parameters.AddWithValue("@nearFamousPlace", c.nearFamousPlace);
cmd.Parameters.AddWithValue("@studentName", c.studentName);
cmd.Parameters.AddWithValue("@GR", c.GR);
cmd.Parameters.AddWithValue("@fatherName", c.fatherName);
cmd.Parameters.AddWithValue("@CNIC", c.CNIC);
cmd.Parameters.AddWithValue("@religion", c.religion);
cmd.Parameters.AddWithValue("@gender", c.gender);
cmd.Parameters.AddWithValue("@DOB_date", c.dob_day);
cmd.Parameters.AddWithValue("@DOB_month", c.dob_month);
cmd.Parameters.AddWithValue("@DOB_year", c.dob_year);
cmd.Parameters.AddWithValue("@Address", c.adress);
cmd.Parameters.AddWithValue("@DOA_date", c.doa_day);
cmd.Parameters.AddWithValue("@DOA_month", c.doa_month);
cmd.Parameters.AddWithValue("@DOA_year", c.doa_year);
cmd.Parameters.AddWithValue("@classAdmitted", c.classAdmitted);
cmd.Parameters.AddWithValue("@currentClass", c.currentCalss);
cmd.Parameters.AddWithValue("@section", c.Section);
cmd.Parameters.AddWithValue("@shift", c.Sift);
cmd.Parameters.AddWithValue("@lastSchool", c.lastSchool);
cmd.Parameters.AddWithValue("@reasonToLeave", c.reasonToLeave);
cmd.Parameters.AddWithValue("@parentContact", c.parentContact);
cmd.Parameters.AddWithValue("@emergency", c.emergencyContact);
cmd.Parameters.AddWithValue("@DOA_date", c.dos_day);
cmd.Parameters.AddWithValue("@DOA_month", c.dos_month);
cmd.Parameters.AddWithValue("@DOA_year", c.dos_year);
int row = cmd.ExecuteNonQuery();
//if successful query then vaule is greater then zero
if (row > 0)
{
isSuccess = true;
}
else
{
isSuccess = false;
}
}
catch (Exception ex)
{
}
finally
{
conn.Close();
}
return isSuccess;
}
解决方案
您的错误在于您的连接字符串以及您在代码中调用它的方式:
<add name="student_info" connectionString="Data Source=DESKTOP-GH4DT15\MSSQLSERVER01;Initial Catalog=RDO Student info; Integrated Security=True;"/>
- 您的连接名称是student_info
- 您的数据库名称(初始目录)不应包含空格
- 您的数据源可以只是一个句点“。” 前提是您使用的是本地连接而不是远程连接(虽然这是可选的,但可以节省一些击键)
您的调用代码如下所示:
using var cn = new SqlConnection(ConnectionString);
using var cmd = new SqlCommand(
"INSERT INTO ***student_info*** (SchoolName,ParentContact) VALUES (@SchoolName,@ParentContact);SELECT CAST(scope_identity() AS int);", cn);
笔记:
您的 sql 连接插入到错误的数据库表中(您可能会在此处遇到错误)
存储连接字符串的最佳方式是在 app.config 或 appsettings.json 文件中,具体取决于您使用的 .NET 版本以及代码中的调用方式,如下所示:
string connectionString = ConfigurationManager.ConnectionStrings["student_info"].ConnectionString;
推荐阅读
- c++ - 具有默认分配器初始化为空的 std::map 是否分配内存?
- mysql - 在插入新数据之前检查表中是否存在记录
- authentication - 赛普拉斯不适用于外部登录
- github - 尝试在 Github .md 文件上渲染图表时出现美人鱼语法错误
- jquery - jQuery Smart Wizard v4 Step Validaton 使用 jquery 验证插件
- php - 将数组中的元素添加到 PHP 中的 sql 查询
- google-chrome - 使用/重新设置 10 台 PC 到 1 个 Google 个人资料(书签、密码等)
- python - 在线编译器输入
- r - 为不同的数据集迭代相同的代码
- mongodb - 在 ubuntu 18.04 容器上安装 mongocxx