Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 无法在mysql中同时插入来自两个或多个客户端的数据_Asp.net_Mysql - Fatal编程技术网

Asp.net 无法在mysql中同时插入来自两个或多个客户端的数据

Asp.net 无法在mysql中同时插入来自两个或多个客户端的数据,asp.net,mysql,Asp.net,Mysql,.NET2.0和C—我正在使用存储过程将行插入mysql,但当我试图同时插入来自两个客户端的数据时,我发现只插入了一行,而不是同时插入两行。我无法得到这个错误。如何调整数据库或代码以插入所有数据,而不使用线程 这是我的桌子 delimiter $$ CREATE TABLE `tblemployee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `EmpID` int(11) NOT NULL, `FedTaxID` varchar(9) CHA

.NET2.0和C—我正在使用存储过程将行插入mysql,但当我试图同时插入来自两个客户端的数据时,我发现只插入了一行,而不是同时插入两行。我无法得到这个错误。如何调整数据库或代码以插入所有数据,而不使用线程

这是我的桌子

delimiter $$

CREATE TABLE `tblemployee` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `EmpID` int(11) NOT NULL,
  `FedTaxID` varchar(9) CHARACTER SET utf8 NOT NULL,
  `FirstName` varchar(20) DEFAULT NULL,
  `MiddleInitial` varchar(20) DEFAULT NULL,
  `LastName` varchar(20) DEFAULT NULL,
  `SSN` decimal(9,0) NOT NULL,
  `DateOfBirth` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
  `MaritalTypeID` varchar(4) CHARACTER SET utf8 DEFAULT NULL,
  `EmployeeTypeID` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
  `EmploymentStatusTypeID` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
  `HireDate` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
  `EmployeeWorkLocation` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
  `RegularPay` double DEFAULT NULL,
  `HourlyRate` double DEFAULT NULL,
  `OtherHoursRate` double DEFAULT NULL,
  `StartDate` date NOT NULL,
  `EndDate` date NOT NULL,
  `PayFrequencyTypeID` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`EmpID`,`FedTaxID`),
  UNIQUE KEY `SSN_UNIQUE` (`SSN`),
  KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=385 DEFAULT CHARSET=latin1$$
下面是我的存储过程:

CREATE DEFINER=`root`@`%` PROCEDURE `uspEmployeeAdd`(_EmpID int,_FedTaxID varchar(9),_SSN decimal(9,0),_DateOfBirth varchar(50),_MaritalTypeID varchar(2),_EmployeeTypeID varchar(1),_EmploymentStatusTypeID varchar(1),_HireDate varchar(50),_EmployeeWorkLocation varchar(30),_PayFrequencyType varchar(2),_RegularPay double,_HourlyRate double,_OtherHoursRate double)
BEGIN
    insert delayed into tblEmployee(EmpID, FedTaxID, SSN, DateOfBirth, MaritalTypeID, EmployeeTypeID, EmploymentStatusTypeID, HireDate, EmployeeWorkLocation, PayFrequencyType, RegularPay, HourlyRate, OtherHoursRate)     
    values(_EmpID, _FedTaxID, _SSN, _DateOfBirth, _MaritalTypeID, _EmployeeTypeID, _EmploymentStatusTypeID, _HireDate, _EmployeeWorkLocation, _PayFrequencyType, _RegularPay, _HourlyRate, _OtherHoursRate);

END
这是我的.net代码

public bool Adding()
    {
        m_bFlag = false;

        if (m_oConn.State != ConnectionState.Open)
        {
            m_oConn.Open();
        }
        MySqlTransaction otrans = new MySqlTransaction();
        otrans=m_oConn.BeginTransaction();
        m_oCmd = new MySqlCommand(StoredProcNames.EmployeeDetails_uspEmployeeDetailsInsert, m_oConn);
        m_oCmd.CommandType = CommandType.StoredProcedure;
        m_oCmd.Parameters.AddWithValue("_EmpID", EmpID);
        m_oCmd.Parameters.AddWithValue("_FedTaxID", FedTaxID);
        m_oCmd.Parameters.AddWithValue("_FirstName", FirstName);
        m_oCmd.Parameters.AddWithValue("_MiddleInitial", MiddleInitial);
        m_oCmd.Parameters.AddWithValue("_LastName", LastName);
        m_oCmd.Parameters.AddWithValue("_SSN", SSN);
        m_oCmd.Parameters.AddWithValue("_MaritalTypeID", Gender);
        m_oCmd.Parameters.AddWithValue("_HireDate", HireDate);
        m_oCmd.Parameters.AddWithValue("_DateOfBirth", DateOfBirth);
        m_oCmd.Parameters.AddWithValue("_PayFrequencyTypeID", PayFrequencyTypeID);
        m_oCmd.Parameters.AddWithValue("_StartDate", StartDate);
        m_oCmd.Parameters.AddWithValue("_EndDate", EndDate);
        try
        {
            if (m_oCmd.ExecuteNonQuery() > 0)
            {
                m_bFlag = true;
                otrans.Commit();
            }
        }
        catch (MySqlException mse)
        {
            throw mse;
            otrans.Rollback();
        }
        finally
        {
            m_oConn.Close();
        }

        return this.m_bFlag;
    }

您可以发布您试图发布到的表的结构以及您试图插入的数据吗?您可以使用代码检查我现在编辑的问题您的存储过程不插入StartDate或EndDate,它们不是空的,也没有默认值。似乎对任何人都不起作用。