子查询在C#数据库查询中返回了多个值

子查询在C#数据库查询中返回了多个值,c#,sql-server,wpf,C#,Sql Server,Wpf,我编写了这个查询,它似乎返回了多个值。我不确定为什么会发生这种错误。这适用于编辑命令,该命令应在编辑时更新数据库(sql server)中的信息,而不是创建新的提供程序 const string sql = @"UPDATE DoctorFacility SET PVId = @PVId, Type = @Type, Inactive

我编写了这个查询,它似乎返回了多个值。我不确定为什么会发生这种错误。这适用于编辑命令,该命令应在编辑时更新数据库(sql server)中的信息,而不是创建新的提供程序

const string sql =
        @"UPDATE DoctorFacility SET PVId = @PVId, 
                                    Type = @Type,
                                    Inactive = @Inactive, 
                                    Prefix = @Prefix,
                                    First = @First,
                                    Middle = @Middle,
                                    Last = @Last,
                                    Suffix = @Suffix,
                                    OrgName = @OrgName,
                                    OrgType = @OrgType, 
                                    ListName = @ListName, 
                                    Address1 = @Address1, 
                                    Address2 = @Address2, 
                                    City = @City, 
                                    State = @State, 
                                    Zip = @Zip, 
                                    Country = @Country, 
                                    Phone1 = @Phone1, 
                                    Phone1Type = @Phone1Type, 
                                    Phone2 = @Phone2, 
                                    Phone2Type = @Phone2Type, 
                                    EmailAddress = @EmailAddress, 
                                    PlaceOfServiceMId = @PlaceOfSErviceMId, 
                                    UPIN = @Upin, 
                                    SpecialtyMId = @SpecialtyMId, 
                                    DotId = @DotId, 
                                    NPI = @NPI, 
                                    CreatedBy = @CreatedBy, 
                                    LastModifiedBy = @LastModifiedBy 
            WHERE DotId = @DotId";
     using (SqlDataAccessor dataAccessor = DataAccessorFactory.GetDataAccessor(Connection))
     {
        string user = UserNameFactory.GetUsername();
        DaParameters parameters = new DaParameters(dataAccessor);
        parameters.Add("@PVId", DateTimeHash(DateTime.Now));
        parameters.Add("@Type", (int)provider.ProviderType);
        parameters.Add("@Inactive", provider.Inactive);
        parameters.Add("@Prefix", provider.Prefix, DbType.AnsiString, 10);
        parameters.Add("@First", provider.FirstName, DbType.AnsiString, 35);
        parameters.Add("@Middle", provider.MiddleName, DbType.AnsiString, 30);
        parameters.Add("@Last", provider.LastName, DbType.AnsiString, 60);
        parameters.Add("@Suffix", provider.Suffix, DbType.AnsiString, 20);
        parameters.Add("@OrgName", provider.OrgName, DbType.AnsiString, 60);
        parameters.Add("@OrgType", provider.OrgType, DbType.AnsiString, 3);
        parameters.Add("@ListName", provider.ListName, DbType.AnsiString, 160);
        parameters.Add("@Address1", provider.Address1, DbType.AnsiString, 50);
        parameters.Add("@Address2", provider.Address2, DbType.AnsiString, 50);
        parameters.Add("@City", provider.City, DbType.AnsiString, 30);
        parameters.Add("@State", provider.State, DbType.AnsiString, 3);
        parameters.Add("@Zip", provider.Zip, DbType.AnsiString, 10);
        parameters.Add("@Country", provider.Country, DbType.AnsiString, 30);
        parameters.Add("@Phone1", provider.Phone1, DbType.AnsiString, 15);
        parameters.Add("@Phone1Type", provider.Phone1Type, DbType.AnsiString, 25);
        parameters.Add("@Phone2", provider.Phone2, DbType.AnsiString, 15);
        parameters.Add("@Phone2Type", provider.Phone2Type, DbType.AnsiString, 25);
        parameters.Add("@EmailAddress", provider.EmailAddress, DbType.AnsiString, 255);
        parameters.Add("@PlaceOfServiceMId", provider.PlaceOfServiceMID);
        parameters.Add("@UPIN", provider.UPIN, DbType.AnsiString, 50);
        parameters.Add("@SpecialtyMId", provider.SpecialtyMID);
        parameters.Add("@DotId", provider.DotID, DbType.AnsiString, 15);
        parameters.Add("@NPI", provider.NPI, DbType.AnsiString, 80);
        parameters.Add("@CreatedBy", user, DbType.AnsiString);
        parameters.Add("@LastModifiedBy", user, DbType.AnsiString);
        return dataAccessor.ExecuteIdentityInsert<Provider>(sql, parameters);
     }
  }
const字符串sql=
@“更新DoctorFacility SET PVId=@PVId,
Type=@Type,
不活动=@不活动,
前缀=@Prefix,
First=@First,
中间=@中间,
Last=@Last,
后缀=@后缀,
OrgName=@OrgName,
OrgType=@OrgType,
ListName=@ListName,
Address1=@Address1,
Address2=@Address2,
城市=@City,
State=@State,
Zip=@Zip,
国家=@Country,
Phone1=@Phone1,
Phone1Type=@Phone1Type,
Phone2=@Phone2,
Phone2Type=@Phone2Type,
EmailAddress=@EmailAddress,
placeOfServiceId=@placeOfServiceId,
UPIN=@UPIN,
SpecialtyMId=@SpecialtyMId,
DotId=@DotId,
NPI=@NPI,
CreatedBy=@CreatedBy,
LastModifiedBy=@LastModifiedBy
其中DotId=@DotId”;
使用(SqlDataAccessor dataAccessor=DataAccessorFactory.GetDataAccessor(连接))
{
字符串user=UserNameFactory.GetUsername();
数据参数参数=新的数据参数(数据访问器);
Add(“@PVId”,DateTimeHash(DateTime.Now));
参数.Add(“@Type”,(int)provider.ProviderType);
参数。添加(“@Inactive”,provider.Inactive);
参数.Add(“@Prefix”,provider.Prefix,DbType.AnsiString,10);
添加(“@First”,provider.FirstName,DbType.AnsiString,35);
添加(“@Middle”,provider.MiddleName,DbType.AnsiString,30);
添加(“@Last”,provider.LastName,DbType.AnsiString,60);
参数.Add(“@Suffix”,provider.Suffix,DbType.AnsiString,20);
添加(“@OrgName”,provider.OrgName,DbType.AnsiString,60);
添加(“@OrgType”,provider.OrgType,DbType.AnsiString,3);
参数.Add(“@ListName”,provider.ListName,DbType.AnsiString,160);
添加(“@Address1”,provider.Address1,DbType.AnsiString,50);
添加(“@Address2”,provider.Address2,DbType.AnsiString,50);
参数.Add(“@City”,provider.City,DbType.AnsiString,30);
parameters.Add(“@State”,provider.State,DbType.AnsiString,3);
Add(“@Zip”,provider.Zip,DbType.AnsiString,10);
参数.Add(“@Country”,provider.Country,DbType.AnsiString,30);
添加(“@Phone1”,provider.Phone1,DbType.AnsiString,15);
添加(“@Phone1Type”,provider.Phone1Type,DbType.AnsiString,25);
添加(“@Phone2”,provider.Phone2,DbType.AnsiString,15);
添加(“@Phone2Type”,provider.Phone2Type,DbType.AnsiString,25);
添加(“@EmailAddress”,provider.EmailAddress,DbType.AnsiString,255);
参数.Add(“@placeOfServiceId”,provider.placeOfServiceId);
添加(“@UPIN”,provider.UPIN,DbType.AnsiString,50);
添加(“@SpecialtyMId”,provider.SpecialtyMId);
添加(“@DotId”,provider.DotId,DbType.AnsiString,15);
添加(“@NPI”,provider.NPI,DbType.AnsiString,80);
参数.Add(“@CreatedBy”,user,DbType.AnsiString);
parameters.Add(“@LastModifiedBy”,user,DbType.AnsiString);
返回dataAccessor.ExecuteIdentityInsert(sql,参数);
}
}

您使用的数据库是mysql还是sql server?mysql sql server sql server就是我使用的sql server为什么
ExecuteIdentityInsert
?尝试使用
SqlCommand
ExecuteOnQuery
我假设
SqlDataAccessor
DataAccessorFactory
来自内部数据访问层。鉴于此,请检查并查看您是否使用了正确的方法来执行更新。只要它的名字
ExecuteIdentityInsert
就意味着你不是。