sql >> Databasteknik >  >> RDS >> Sqlserver

Utdata från SQL Server och C# olika

Det bästa sättet är att formatera din inmatning i dd/MMM /åååå format. Det hjälper SqlServer bättre att identifiera månaden och dagen. Jag rekommenderar starkt att du använder MMM-format när du kommunicerar med SqlServer.

DateTime fromDate, toDate;
fromDate = DateTime.Parse(dtpFrom.Text);
toDate = DateTime.Parse(dtpTo.Text);

SqlCommand objCmd = new SqlCommand("SELECT CONVERT(char(80), i.InvDate,3) AS InvDate, 
i.InvoiceNo,
i.EmployerCode,
i.TaxAmount + i.SubTotal AS Amount,
'' AS Payment,
pd.GivenName 
FROM    dbo.Invoice i 
INNER JOIN dbo.PatientDetails pd ON (pd.MedicalRecordID = i.MedicalRecordID) 
WHERE datediff(d, '" + fromDate.ToString("dd/MMM/yyyy") + "', i.InvDate) >=0  
AND datediff(d, '" + toDate.ToString("dd/MMM/yyyy") + "', i.InvDate) <=0", objConn);

eller om du har någon begränsning att göra som ovan, konvertera indata med CONVERT()

SqlCommand objCmd = new SqlCommand("SELECT CONVERT(char(80), i.InvDate,3) AS InvDate, 
i.InvoiceNo,
i.EmployerCode,
i.TaxAmount + i.SubTotal AS Amount,
'' AS Payment,
pd.GivenName 
FROM    dbo.Invoice i 
INNER JOIN dbo.PatientDetails pd ON (pd.MedicalRecordID = i.MedicalRecordID) 
WHERE datediff(d, CONVERT(datetime, '" + dtpFrom.Text + "', 105 ), i.InvDate) >=0  
AND datediff(d, CONVERT(datetime, '" + dtpTo.Text + "', 105 ), i.InvDate) <=0", objConn);


  1. Använda dynamisk SQL för att ange ett kolumnnamn genom att lägga till en variabel i en enkel SQL-fråga

  2. fel 1045 (28000) åtkomst nekad för användaren 'root'@'localhost' (med lösenord:JA)

  3. mysql_ping hänger med Amazon RDS

  4. Undvik problemet med BigDecimal när du migrerar till Java 1.4 till Java 1.5+