总算找到了问题的原因了,爽,不过感觉自己太粗心了。

原创 2006年06月09日 13:51:00

这段代码一直找不到什么地方错了,编译能通过,但是就是没有办法取得数据库中的值,十分郁闷。

到csdn上拜了个高手为师,结果都是指出了一些无关紧要的错误,不过还是得到了一些检查bug的基本方法。

最后在查网页信息的时候,对照人家写的连接Access的源代码一条一条看,才发现原来是红色部分出了问题,而且是两个问题:

1.provider的值给错了Microsoft.Jet.OleDb.4.0写成了Microsoft.Jet.Ole.4.0

2.Server.MapPath(("hqcs.mdb")取出的值居然是D:/hqcs/page/hqcs.mdb,而实际的路径是D:/hqcs/DataSource/hqcs.mdb,这个问题我现在还没找到原因,msdn上关于server.mappath()有好几个版本,我还不能确定到底应该使用那个版本。

namespace hqcs.ascx
{
 using System;
 using System.Data;
 using System.Drawing;
 using System.Web;
 using System.Web.UI.WebControls;
 using System.Web.UI.HtmlControls;

 //database
 using System.Data.OleDb;
 using System.Data.SqlClient;


 
 

 //Global funstions
 //using hqcs.Global;

 /// <summary>
 ///  Summary description for hqcsNavigationBar.
 /// </summary>
 public class dtgNavigationBar : System.Web.UI.UserControl
 {
  protected System.Web.UI.WebControls.DataGrid dtgNBar;
  protected System.Web.UI.WebControls.Label Label1;

  private OleDbConnection conNBar;
  private OleDbCommand cmdNBar;
  private OleDbDataAdapter dapNBar;
  private DataSet dstNBar;
  private DataView dtvNBar;


  private void Page_Load(object sender, System.EventArgs e)
  {
   // Put user code to initialize the page here
   //connect to database
   //string strConnAccess = "Provider = Microsoft.Jet.Ole.4.0;Data Source = " + Server.MapPath("hqcs.mdb");
   string strConnAccess = "Provider = Microsoft.Jet.OleDb.4.0;";
   strConnAccess += "Data Source = D://hqcs//DataSouce//hqcs.mdb";

   conNBar = new OleDbConnection();
   conNBar.ConnectionString = strConnAccess;
   try
   {
    conNBar.Open();

    //cmdNBar = new OleDbCommand("Select * from hqcs_NavigationBarItems",conNBar);
    cmdNBar = new OleDbCommand();
    cmdNBar.CommandText = "SELECT * FROM hqcs_NavigationBarItems";   
    cmdNBar.Connection = conNBar;
    

    dapNBar = new OleDbDataAdapter(cmdNBar);
    dstNBar = new DataSet();
    dapNBar.Fill(dstNBar,"NavigationBar");

    dtvNBar = dstNBar.Tables["NavigationBar"].DefaultView;

    int nRecords = 0;
    nRecords = dstNBar.Tables["NavigationBar"].Rows.Count;
    Label1.Text = nRecords.ToString();
    

    dtgNBar.DataSource = dtvNBar;
    dtgNBar.DataBind();

    conNBar.Close();
   }
   catch(Exception ex)
   {
    Console.WriteLine(ex.Message);
   }
   
  }

  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: This call is required by the ASP.NET Web Form Designer.
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  ///  Required method for Designer support - do not modify
  ///  the contents of this method with the code editor.
  /// </summary>
  private void InitializeComponent()
  {
   //this.ID = "dtgNBar";
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  
 }
}

 

接下来我想对代码进行一些优化,把连接数据库的字段写到web.config中去。

在web.config中添加了以下代码:

<appSettings>

<!-- the connect to database-->
<!-- connect to Access database -->
<add key = "connAccess" value = "Provider = Microsoft.Jet.OleDb.4.0; Data Source =D:/hqcs/DataSouce/hqcs.mdb"></add>
<!--connect to mssql2000-->
<add key="conSql" value="server=Localhost;UID=sa;PWD=sa; database=hqcs;"></add>


</appSettings>

然后再代码中去除原来的字段,加入以下代码:

using System.Configuration;

..............

   /*
   string strConnAccess = "Provider = Microsoft.Jet.OleDb.4.0;";
   strConnAccess += @"Data Source = D:/hqcs/DataSouce/hqcs.mdb";
   */

   string strConnAccess = ConfigurationSettings.AppSettings["connAccess"];

用来获得连接数据库的string。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

(找到原因了)(又改了下,感觉有个最下面那块函数,应传入指针的指针)求求哪位大神给看看吧,为何注释部分放开竟然会出错,琢磨一天了啊,万分感谢!!!!!!!!!!!!!!!!!!!!

SharedPtr.h #pragma once #include #include using namespace std; class SharedPtr { public: friend ...

ACM 粗心永远AC不了系列——Demo Day|三维DP问题,机器人寻路,hiho一下第150周

题目来源:https://hihocoder.com/contest/hiho150/problem/1 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 ...

ACM 粗心永远AC不了系列——小Hi的烦恼|“五维数点”问题

问题来源:hiho一下第147周 小Hi的烦恼 题目1 : 小Hi的烦恼 时间限制:5000ms 单点时限:1000ms 内存限制:1024MB ...

LRM-00101: unknown parameter name 'location' LRM-00101: unknown parameter name 'valid_for' 粗心引起问题一例

今天在配置RAC-DG时,修改主库参数文件后无法用修改后的PFILE启动RAC主数据库,碰到了LRM-00101错误,这是一个语法错误,但是一开始始终没找到解决方法: SQL> create pfil...

详细介绍使用PHP框架的原因(我感觉在没事的时候应该多多的搭建一些框架 用的时候直接搬过来用方便的很)

PHP框架为各种技术等级的开发者减少了重复编码的需求、加快了开发进程,并在创建web应用时确保正确的编码。这不仅加快了富应用开发的进程,同时也通过减少代码的安全漏洞而增强了PHP的安全性。 PHP成...

position属性absolute与relative 详解 最近一直在研究javascript脚本,熟悉DOM中CSS样式的各种定位属性,以前对这个属性不太了解,从网上找到两篇文章感觉讲得很透彻,

position属性absolute与relative 详解 最近一直在研究javascript脚本,熟悉DOM中CSS样式的各种定位属性,以前对这个属性不太了解,从网上找到两篇文章...

生活随笔:陪女友逛街好累!为什么女生爱购物?总算明白原因了!

如果问我陪女朋友干什么最痛苦,莫过于逛街!常常是一个商场从下到上,从里到外,足足能逛几个小时,而且平时娇弱的她这时候居然一点都不会觉得累,倒是我恨不得找个床躺那不动。累的要死的同时,我也十分费解:逛了...

Android开发中,fragment无法找到Layout文件问题的原因与解决

这次已经是我第二次遇到这个问题,正所谓“人可以犯错,但是不能犯同样的错误”。所以这次解决问题之后我决定写个笔记防止下次再遇到这个问题不知道怎么解决,顺便也给遇到同样问题的哥们一个帮助。做项目的时候需要...

android 程序全局自动捕获异常 专制系统奔溃,异常退出无法找到原因的问题

(一) 前言 各位亲爱的午饭童鞋,是不是经常因为自己的程序中出现未层捕获的异常导致程序异常终止而痛苦不已?嗯,是的。。 但是,大家不要怕,今天给大家分享一个东东可以解决大家这种困扰,吼吼! (二) ...

sql问题 感觉挺经典。

  • 2009-07-13 14:54
  • 1004B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)