c# - 对象引用未设置为对象的实例在尝试借助数据库更新数据时
问题描述
我正在创建一个图书网站,我创建了一个图书页面,当我单击该链接时,我在其中给出了编辑图书页面链接,应根据数据库中的图书 ID 打开更新表单,并且应填写预先输入的更新表单来自数据库的详细信息。
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WEbApp
{
public partial class Edit_Books : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="ConnectionString";Integrated Security=True");
protected void Page_Load(object sender, EventArgs e)
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
con.Open();
int id = Convert.ToInt32(Request.QueryString["bkid"].ToString());
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from Books where bkid="+id+"";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
foreach(DataRow dr in dt.Rows)
{
Textbox1.Text = dr["book_name"].ToString();
Textbox2.Text = dr["book_author"].ToString();
Textbox3.Text = dr["book_publication"].ToString();
}
}
}
}
当我运行上面的代码时,我在这一行得到一个错误:
int id = Convert.ToInt32(Request.QueryString["bkid"].ToString());
Object reference not set to an instance of an object.
解决方案
听起来好像Request.QueryString
不包含条目bkid
?
将代码更改为:
var bkId = Request.QueryString["bkid"];
int id = Convert.ToInt32(bkId.ToString());
用你的调试器检查 bkId 的值——我怀疑它会是null
。
推荐阅读
- c++ - 如何修复“无法在动态链接库中找到过程入口点 SDL_ceilf”
- java - 从等待返回集合
- pandas - 如何按列分组并删除或分离熊猫中的值?
- javascript - 使用模式的 Spring Boot 删除操作
- java - 每次应用启动时 FirebaseRecyclerAdapter 都会崩溃
- android - java.lang.RuntimeException:createContext 失败:EGL_SUCCESS Arcgis Android
- scala - 将字符串转换为泛型类型的 Scala 泛型函数
- c++ - 在 Mac os X 中如何正确使用 QProcess
- python-3.x - Python。自然语言处理。预处理文本
- python - 我正在创建一个音乐测验,但似乎在测验中间的随机点出现相同的错误