2016-06-17 19 views
0

请原谅我,如果我没有很好地解释它,因为我对数据库没有任何知识,也没有诚实的HTML。是否有可能在HTML5中有一个可搜索的输入表列,从数据库中提取数据?如果是这样,怎么样?

我想制作一个网页,可以从数据库中提取客户端名称,并且用户可以搜索他们想要的客户端名称并为每个选定的客户端输入其他信息。

我相信我对数据库本身的访问非常有限,并且唯一可以通过Visual Studio查看数据的地方。在Visual Studio(xxxx.net)中连接到数据库后,它显示xxxx.dbo,在它下面我可以看到表格。

我可以知道,如果我只能对.dbo文件进行只读访问,那么是否可以提取数据?我可以在谷歌的帮助下创建一个带有添加/删除行功能的表格。

我可能不需要完成整个项目,如果我可以创建一个网页并显示它可以工作,并且比每月更新60个Excel文件(不同列表)中的客户端下拉列表更好。

+0

这是一个乏味而模糊的问题。你不能用普通的html访问数据库,你需要'某些'与数据库进行交互并将结果输出到客户端。这就是asp.net,php和其他工具的用途。 – Paolo

+0

我正在使用Aptana,我明白我需要其他工具来访问数据库。我想我的第一个担心是,如果我能够以只读访问的方式提取数据,接下来是如何仅仅知道在Visual Studio上显示的路径的数据库,以及最后如何成功实现这一点。 – ImaNoob

+0

你最好的选择是基础步骤教程。不幸的是,这个问题太广泛了,无法在问答网站上正确回答... – Paolo

回答

0

对不起OP我误解了你的问题,我没有意识到你只是在寻找一个.NET的答案。是的,这仍然是平均地使用ASP.NET,你只需要动态生成HTML的,像这样:

public partial class CS : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!this.IsPostBack) 
     { 
      //Populating a DataTable from database. 
      DataTable dt = this.GetData(); 

      //Building an HTML string. 
      StringBuilder html = new StringBuilder(); 

      //Table start. 
      html.Append("<table border = '1'>"); 

      //Building the Header row. 
      html.Append("<tr>"); 
      foreach (DataColumn column in dt.Columns) 
      { 
       html.Append("<th>"); 
       html.Append(column.ColumnName); 
       html.Append("</th>"); 
      } 
      html.Append("</tr>"); 

      //Building the Data rows. 
      foreach (DataRow row in dt.Rows) 
      { 
       html.Append("<tr>"); 
       foreach (DataColumn column in dt.Columns) 
       { 
        html.Append("<td>"); 
        html.Append(row[column.ColumnName]); 
        html.Append("</td>"); 
       } 
       html.Append("</tr>"); 
      } 

      //Table end. 
      html.Append("</table>"); 

      //Append the HTML string to Placeholder. 
      PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() }); 
     } 
    } 

    private DataTable GetData() 
    { 
     string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 
     using (SqlConnection con = new SqlConnection(constr)) 
     { 
      using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, Name, Country FROM Customers")) 
      { 
       using (SqlDataAdapter sda = new SqlDataAdapter()) 
       { 
        cmd.Connection = con; 
        sda.SelectCommand = cmd; 
        using (DataTable dt = new DataTable()) 
        { 
         sda.Fill(dt); 
         return dt; 
        } 
       } 
      } 
     } 
    } 
} 

希望这会给你足够好的起点,走了。另外请注意,连接到服务器时,最好的做法是这样做:

SqlConnection conn = new SqlConnection(); 
SqlConnectionStringBuilder b = new SqlConnectionStringBuilder(); 
b.DataSource = "190.xxx.xxx.xxx\ServerName"; 
b.InitialCatalog = "DataBaseName"; 
b.IntegratedSecurity = false; 
b.UserId = "..."; 
b.Password = "..."; 
conn.ConnectionString = b.ConnectionString; 
conn.Open(); 

祝您好运!

+0

谢谢你的回答!请原谅我的“noobness”,但我没有意识到我正在寻找.Net的答案。从我的谷歌搜索研究,我想我需要使用Javascript/PHP来做到这一点。 我正在使用Aptana。你认为我能够使用这些代码吗?如果没有,你会对我应该如何处理这个问题有任何建议吗? – ImaNoob

相关问题