Fahid Zahoor Ответов: 2

Как мы можем получить только дату из таблицы SQL


я выбираю табличные данные из SQL server с помощью процедуры хранения и загружаю эти данные в свое приложение C#, содержащее GridView. Это занимает много времени с данными, но в gridview отображается только дата, и когда я беру печать этого gridview 12:00, это время также включает в себя date colum в printpriview..
Colume name "EmDate" datatype "Datetime"
Я хочу, чтобы только дата была напечатана.
Пожалуйста, кто-нибудь, помогите мне.
Заранее спасибо

Что я уже пробовал:

Это Моя Процедура В Магазине
ALTER PROCEDURE [dbo].[USP_Selec_Custtomer_Record] 
AS
BEGIN
	SELECT 
	   [CustomSr]			as 'sr'
	 , DateWork = CONVERT(date, DateWork, 103)		      
      ,[EmpolyName]			as 'Empoly Name'
      ,[EmID]				as 'Empoly ID'
      ,[CustomerName]		as 'Customer Name'
      ,[PhoneNo]			as 'Phone No '
      ,[CustomAddress]		as 'Customer Address'
      ,[CashType]			as 'Cash Type'
      ,[LumSum]				as 'LumSum Amount'
      ,[TotalToPay]			as 'Total to pay'
      ,[RemainingBalnce]	as 'Remaining Amount'
  FROM [dbo].[Customer_Records]


Это мой код C#, который я использую Print Document Control для печати. Эта строка принимает печать даты.
e.Graphics.DrawString(CustomerDetilsdataGridView.Rows[i].Cells[1].Value.ToString(), new Font("Arial", 16), Brushes.Black, 120, ysp);

Bryian Tan

является ли EmDate ссылкой на столбец DateWork?

Fahid Zahoor

Да

Bryian Tan

Может ли датировка быть строкой на стороне приложения? если да, попробуйте что-то вроде

DateWork = convert(VARCHAR(10), DateWork, 103)
или верните новый столбец StrDateWork = ...

2 Ответов

Рейтинг:
2

OriginalGriff

Не конвертируйте его вообще в SQL - верните все значение DATETIME, а затем обработайте его на вашем языке презентации:

decimal d = (decimal) CustomerDetilsdataGridView.Rows[i].Cells[1].Value;
e.Graphics.DrawString(d.ToString("dd/MM/yyyy"), new Font("Arial", 16), Brushes.Black, 120, ysp);
Или
decimal d = (decimal) CustomerDetilsdataGridView.Rows[i].Cells[1].Value;
e.Graphics.DrawString(d.ToString("d"), new Font("Arial", 16), Brushes.Black, 120, ysp);
что даст вам короткую дату формы для локали этого компьютера.


Fahid Zahoor

Эта ошибка возникает и ToString подчеркивание прочитанной цветной линией
"Возвращает строку, представляющую текущий объект. Нет перегрузки для метода ToString принимает 1 аргумент"
Скажи, что мне делать дальше???

OriginalGriff

Покажите мне точно код, который вы использовали.

Fahid Zahoor

if (NumberOfItemPrintedSoFar <= CustomerDetilsdataGridView.Rows.Рассчитывать)
{

e.графика.DrawString(""+p, новый шрифт ("Arial", 12, FontStyle.Жирный), Кисти.Черный, новая точка(23, ysp));
// д. Графика.DrawString(CustomerDetilsdataGridView.Rows[i].Ячейки[0].Значение.ToString(), новый шрифт ("Arial", 16), кисти.Черный, 23 года, ysp);
e.графика.DrawString(CustomerDetilsdataGridView.Rows[i].Ячейки[1].Значение.ToString() , новый шрифт ("Arial", 16), кисти.Черный, 120, ysp);
//д. Графика.DrawString(CustomerDetilsdataGridView.Rows[i].Ячейки[3].Значение.ToString(), новый шрифт ("Arial", 16), кисти.Черный, 330, ysp);
e.графика.DrawString(CustomerDetilsdataGridView.Rows[i].Ячейки[4].Значение.ToString(), новый шрифт ("Arial", 16), кисти.Черный, 440, ysp);
e.графика.DrawString(CustomerDetilsdataGridView.Rows[i].Ячейки[9].Значение.ToString(), новый шрифт ("Arial", 16), кисти.Черный, 640, ysp);
ysp += 30;
p++;
}

OriginalGriff

А! Вы используете DataGridView - ответ обновлен.

Fahid Zahoor

Да я использую Data GridView

Рейтинг:
2

dkamble 10358990

Конвертировать(nvarchar(10), DateWork, 103);


Fahid Zahoor

Да, я использую это. Теперь Paroblem заключается в том, что в GridView отображается только дата, но когда я беру печать 12:00, это время также добавляется ко всем записям...