异常详细信息:System.Data.MissingPrimaryKeyException:表没有主键
来源:互联网 发布:日本网络电视在线直播 编辑:程序博客网 时间:2024/04/28 19:58
在操作DataTable时,调用一个find()时提示如下错误:
异常详细信息:System.Data.MissingPrimaryKeyException:表没有主键
最后在MSDN上找到了解决办法.具体是因为调用这个方法前提是其主体DataTable必须手动设置主键.过程如下:
private void button1_Click(object sender, EventArgs e)
{
string UserName = this.txt_UserName.Text;
string UserPwd = this.txt_UserPwd.Text;
string strsql = "select * from tb_User where UserName='"+UserName+"'";
DBCon dbcULogin = new DBCon();
DataTable dt= dbcULogin.GetDataTable(strsql);
if (dt.Rows.Count > 0)
{
//DataColumn[] keys = new DataColumn[1];
//keys[0] = dt.Columns[1];//这里表的第一列为UserName
// dt.PrimaryKey = keys;
DataRow dr = dt.Rows.Find(UserName);
if (dr[2].Equals(UserPwd))
{
//MessageBox.Show(dr[1].ToString(), "提示");
this.Close();
UserManage UserM = new UserManage();
UserM.ShowDialog();
}
else
{
string ShowStr = "请输入正确的密码!";
CommonClass.MessageShow(ShowStr);
}
}
else
{
string ShowStr = "你输入的用户名不存在!";
CommonClass.MessageShow(ShowStr);
}
}
直接运行这段代码会出现如上所提示的错误,原因在上面已经说了.因此只需将上面注释去掉就可以了.这里只设置了一个主键,因为在使用时只需要一个主键,这个主键是查询表的主键,与DataBase中的表tb_User的主键是没有直接关系的,也就是你所设置的主键可以与表tb_user的不同,但上面红色注明的两个地方必须保持一致才行.有关表的主键设置的详细资料参加MSDN.
以上是我对这个问题的看法,各位同仁,多多指教.
- 异常详细信息:System.Data.MissingPrimaryKeyException:表没有主键
- 异常详细信息: System.UnauthorizedAccessException:
- 异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 (asp.net C#)
- 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法
- 20130620-异常详细信息: System.Data.SqlClient.SqlException: 用户 'PC-LIXIANG\ASPNET' 登录失败。
- 异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。
- 异常详细信息: System.Data.SqlClient.SqlException: 必须声明标量变量 "@MsgID"。
- 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法
- 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法
- 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法
- 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法v
- 异常详细信息: System.ArgumentException: 该行已经属于此表。
- 异常详细信息: System.InvalidOperationException: 在没有任何数据时进行无效的读取尝试。
- 异常详细信息: System.Security.SecurityException: 请求失败。
- C# B/S程序中出现“异常详细信息: System.Data.SqlClient.SqlException: 用户 'XXX/ASPNET' 登录失败。”的处理方法
- 异常详细信息: System.Data.SqlClient.SqlException: 无法打开物理文件 。。。 操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。
- 异常详细信息: System.InvalidOperationException: 内部连接致命错误
- 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(fck_content="
- 7月25日北京上地某IDC机房出故障,CSDN论坛无法访问的原因大概如此
- 天地相隔三尺远
- TCP/IP的工作过程——以FTP为例
- 蝴蝶
- LDA,PCA,ICA比较
- 异常详细信息:System.Data.MissingPrimaryKeyException:表没有主键
- lotus 的历史
- 我的格言
- SQL 脚本四
- 送给毕业生十个让你成功的建议
- [转载]Windows内核技术的精华站点
- dbm数据库源代码分析(3):头文件部分
- 泡妞字典
- JOJ 1065: Truck Driver 解题报告