尝试将Web服务与数据库连接时出错

时间:2016-06-24 21:17:43

标签: c# sql-server asp.net-mvc asp.net-mvc-4 razor

我收到此错误:

  

错误CS1502:最佳重载方法匹配' System.Data.SqlClient.SqlConnection.SqlConnection(string,System.Data.SqlClient.SqlCredential)'有一些无效的论点

     

错误CS1503:参数2:无法转换为' System.Data.SqlClient.SqlConnection'到' System.Web.WebPages.HelperResult'

这是我的代码:

public string NumeroFactura(string NoDeFactura)
{
        string DtsConnection = "ITLIGENCIA-POS\\SQLEXPRESS; Initial Catalog = SSOLINVBASESQL; Trusted_Connection = Yes";
        SqlConnection Con = new SqlConnection(DtsConnection);
        Con.Open();

        SqlDataAdapter CMD = new SqlConnection("select * from INVE_FACTURAS_PRODUCTOS_ENC where NFACTURA='"+ NoDeFactura+ "'",Con);
        DataSet DS = new DataSet();
        CMD.Fill(DS, "DATOS");

        DataTable TableNFACTURA = DS.Tables[0];
        string NFACTURA = TableNFACTURA.Rows[0]["NFACTURA"].ToString();

        return "El número de factura es" + NFACTURA;
}

2 个答案:

答案 0 :(得分:1)

SqlDataAdapter CMD = new SqlConnection(...

应该是

SqlDataAdapter CMD = new SqlDataAdapter(...

另外,查看" SQL注入"和"参数化查询",你正在做一些非常危险的事情。

虽然我正在使用select *(以及SqlDataAdapter)来检索一行和一列并不是非常有效。并且你假设你将获得一排;如果NoDeFactura在数据库中不存在,TableNFACTURA.Rows[0]["NFACTURA"].ToString()将抛出空引用异常。

答案 1 :(得分:0)

您缺少Data SourceServer密钥。您的连接字符串应该类似于

Server=ITLIGENCIA-POS\\SQLEXPRESS; Initial Catalog = SSOLINVBASESQL; Trusted_Connection = Yes