lin13727561057
lin13727561057
2017-08-16 02:09

C#Winforms 连接数据库后无法存数据到数据库

20
  • 串口通信
  • c#
  • 数据库
  • sql

我是想把串口收到的数据存放到SQL数据库。串口收到的数据解析后在label控件上显示。我用一个存储过程把label显示的数据存放到数据库里,使用一个Timer控件每隔1秒存一次数据,程序没有任何报错,运行也正常,数据库连接测试也成功,可是就是不能把数据放进数据库,自己弄了好久还是不知道为什么,求大神指点一下。没学过C#,数据库也差不多,东西都是自己模仿别人
的,麻烦懂的朋友帮帮忙。
public string str = new ConnString().str;
private void timer2_Tick(object sender, EventArgs e)
{

        SqlConnection conn = null;
        SqlDataReader rdr = null;

        try
        {
            conn = new SqlConnection(str);
            conn.Open();
            SqlCommand cmd = new SqlCommand("jiedian1Insert", conn);
            cmd.CommandType = CommandType.StoredProcedure;

            SqlParameter pWendu1 =
                new SqlParameter("@pwendu1", SqlDbType.VarChar, 10);
            pWendu1.Direction = ParameterDirection.Input;
            pWendu1.Value = Convert.ToString(wendu1.Text);
            cmd.Parameters.Add(pWendu1);

            SqlParameter pShidu1 =
                    new SqlParameter("@pshidu1", SqlDbType.VarChar, 10);
            pShidu1.Direction = ParameterDirection.Input;
            pShidu1.Value = Convert.ToString(shidu1.Text);
            cmd.Parameters.Add(pShidu1);

            SqlParameter pGuangzhao1 =
                        new SqlParameter("@pguangzhao1", SqlDbType.VarChar, 10);
            pGuangzhao1.Direction = ParameterDirection.Input;
            pGuangzhao1.Value = Convert.ToString(guangzhao1.Text);
            cmd.Parameters.Add(pGuangzhao1);

            SqlParameter pFire1 =
                            new SqlParameter("@pfire1", SqlDbType.VarChar, 10);
            pFire1.Direction = ParameterDirection.Input;
            pFire1.Value = Convert.ToString(fire1.Text);
            cmd.Parameters.Add(pFire1);

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        finally
        {
            if (conn != null)
            {
                conn.Close();
            }
            if (rdr != null)
            {
                rdr.Close();
            }
        }

                    这是存储过程的代码:
                    USE [zigbee]

GO

/****** Object: StoredProcedure [dbo].[jiedian1Insert] Script Date: 2017/8/16 9:50:54 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[jiedian1Insert]
@pwendu1 varchar(10),
@pshidu1 varchar(10),
@pguangzhao1 varchar(10),
@pfire1 varchar(10)

AS
BEGIN
INSERT INTO jiedian1(wendu1,shidu1,guangzhao1,fire1)
VALUES(@pwendu1,@pshidu1,@pguangzhao1,@pfire1)
END

GO


  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

4条回答