从数据库asp.net读取datetime值

问题描述:

现在我有编码



string vcode = txtVcode.text;

ddlPurchaseCode.Items.Clear();

串QRY = 从tblPurchasedInfo选择PurchaseCode其中VENDORCODE = '' + VCODE + '' 和BillNo = '' + ddlBillNo.SelectedValue + '' 和而purchaseDate = '' + ddlPurchaseDate.SelectedValue + '';



SqlDataReader rds = cls.showDataFromTable(qry);

while(rds.Read())

{

ddlPurchaseCode.Items.Add(rds [0] .ToString());

} //结束时间

rds.Close();

cls.con.Close();





和数据库设计



Now I have coding

string vcode = txtVcode.text;
ddlPurchaseCode.Items.Clear();
string qry = "select PurchaseCode from tblPurchasedInfo where VendorCode=''" + vcode + "'' and BillNo=''" + ddlBillNo.SelectedValue + "'' and PurchaseDate=''" + ddlPurchaseDate.SelectedValue + "''";

SqlDataReader rds= cls.showDataFromTable(qry);
while (rds.Read())
{
ddlPurchaseCode.Items.Add(rds[0].ToString());
}//end of while
rds.Close();
cls.con.Close();


and Database design

CREATE TABLE [dbo].[tblPurchasedInfo](
    [PurchaseCode] [varchar](50) NOT NULL,
    [PurchaseDate] [smalldatetime] NOT NULL,
    [EntryDate] [smalldatetime] NOT NULL,
    [BillNo] [varchar](50) NOT NULL,
    [VendorCode] [varchar](50) NOT NULL,
    [Purchaseno] [bigint] IDENTITY(1,1) NOT NULL
) ON [PRIMARY]









问题是:ddlPurchaseCode(下拉列表)中没有加载数据

你可以帮我做什么。

如果我在数据库中将PurchaseDate设为varchar(50),问题将得到解决,但在其他页面和事务中会出现问题。你可以帮忙解决。





The problem is : Data is not loading in ddlPurchaseCode(Dropdownlist)
Can u help what shoul I do.
If I make PurchaseDate as varchar(50) in database, problem will be solved but it will be problem in other pages and transaction. Can u help how to solve.

这可能是因为你直接获取值并将它们连接到命令字符串中。这将导致两个可能的问题:

This is probably because you are taking values direct and just concatenating them into your command string. This will cause two possible problems:


  1. 您的日期字段将是一个字符串,因此可能与数据库中的内容不匹配。
  2. 您将代码保持打开状态,这意味着您的数据或整个系统都可以被销毁。



将您的代码更改为在您的数据库上使用适当的参数化查询,并在使用它们之前验证您的参数。


Change your code to use proper parameterised queries on your database, and validate your parameters before using them.


您好!!!



转换下拉列表选择价值

喜欢



Hi!!!

convert the dropdownlist selected value
like

DateTime dt;
dt = Convert.ToDateTime(ddl.selectedvalue)";



 void ddlfunction()
    {
        confunction();//your connectionstring
        con.Open();
        MySqlCommand cmd = new MySqlCommand("select PurchaseCode from tblPurchasedInfo where VendorCode='" + vcode + "' and BillNo='" + ddlBillNo.SelectedValue + "' and PurchaseDate='" + dt + "'";)", con);
        MySqlDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {

            ddl.Items.Add(dr["Column_Name"].ToString());

        }
        con.Close();







我在记事本中写下这段代码,所以要对它进行修正!!




I write this code in notepad so make correction on it!!


SELECT CONVERT(varchar(20),PurchaseDate,108)as Date





在您的代码中使用以下查询



string qry =从tblPurchasedInfo中选择PurchaseCode,其中VendorCode =''+ vcode +''和BillNo =''+ ddlBillNo.SelectedValue +''和 SELECT CONVERT(varchar(20),PurchaseDate,108)as Date ='' + ddlPurchaseDate.SelectedValue +'';



这肯定会解决您的问题。
SELECT CONVERT(varchar(20),PurchaseDate,108) as Date


use following query in your code

string qry = "select PurchaseCode from tblPurchasedInfo where VendorCode=''" + vcode + "'' and BillNo=''" + ddlBillNo.SelectedValue + "'' and SELECT CONVERT(varchar(20),PurchaseDate,108) as Date=''" + ddlPurchaseDate.SelectedValue + "''";

this will definately solve your problem.