当前位置:编程学习 > C#/ASP.NET >>

C#上位机实时更新数据库并在网页上打开遇到的问题,急~~~~~~~~~~~~~~~~~~~~~~~~

遇到一个奇怪的问题,上位机程序单独运行时没有问题,能够正常显示,也能够正常写入数据库,但是在网页打开一次以后再运行上位机,或者上位机程序和网页同时打开的话,就会显示如下报错:
System.Data.SqlClient.SqlException: 无法打开物理文件 "D:\我的文档\WebSite1\App_Data\jscx.mdf"。操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。)"。



我的上位机程序主要代码如下:
  public void button1_Click(object sender, EventArgs e)
        {
            SerialPort mySerialPort = new SerialPort(comboBox1.SelectedItem.ToString());

            mySerialPort.BaudRate = 9600;
            mySerialPort.Parity = Parity.None;
            mySerialPort.StopBits = StopBits.One;
            mySerialPort.DataBits = 8;
            mySerialPort.Handshake = Handshake.None;

            mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceviedHandler);

            mySerialPort.Open();


        }
        private void DataReceviedHandler(
                       object sender,
                       SerialDataReceivedEventArgs e)
        {
            SerialPort sp = (SerialPort)sender;
            byte[] readBuffer = new byte[1];
            sp.Read(readBuffer, 0, 1);
            string s=byteToHexStr(readBuffer);
            int number = Convert.ToInt32(s,16);
            txtReceive.Text = number.ToString();
            string connString = @"
               Data Source=.\SQLEXPRESS;
               AttachDbFilename=D:\我的文档\WebSite1\App_Data\jscx.mdf;
               user id=sa;
               password=123456;
               Connect Timeout=30;
            ";
            SqlConnection conn = new SqlConnection(connString);
            string commString = @"
               update Table1
               set
               ssrs=@number
               where jxl=1 and lc=1 and zxs=126
             ";
            SqlCommand comm = new SqlCommand(commString, conn);
            comm.Parameters.Add(new SqlParameter("@number", number));
            try
            {
                conn.Open();
                comm.ExecuteNonQuery();
            }
            catch (Exception error)
            {
                txtReceive.Text = error.ToString();
            }
            finally
            {
                conn.Close();
            }
        }


网页主要是使用一个gridview显示数据库里的数据。


现在不知道是哪里出错了,希望知道的指点指点。 --------------------编程问答-------------------- 不明白click里面代码的意义

mdf文件是要使用Sql server的  又不是Access
还是改一下连接方式把 --------------------编程问答--------------------
引用 1 楼 moonwrite 的回复:
不明白click里面代码的意义

mdf文件是要使用Sql server的 又不是Access
还是改一下连接方式把


我就是用的sql server连接啊。
click里面是定义一个新的SerialPort,然后使用DataReceived事件触发实时接收串口传过来的数据。
--------------------编程问答-------------------- up!来个人啊,使用gridview绑定数据库之后会一直独占数据库吗? --------------------编程问答-------------------- 单层的系统,看的好累。 --------------------编程问答-------------------- 什么叫做“网页打开一次”?你是如何设计两个应用程序部署的?上位机和web服务器怎么会去Attach同一个.mdf文件呢? --------------------编程问答--------------------
引用 5 楼 sp1234 的回复:
什么叫做“网页打开一次”?你是如何设计两个应用程序部署的?上位机和web服务器怎么会去Attach同一个.mdf文件呢?

我就是attach的同一个.mdf文件。。。
因为我这个程序是必须上位机实时更新数据,网页上实时查询的时候可以动态显示。
如果不能同时attach同一个.mdf文件该怎样实现上位机实时更新的数据能在网页上实时显示呢?
求教啊~~~~
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,