我找到了很多方法可以在线连接到MS SQL数据库。我在web.config中使用连接字符串。它对我们想要的东西非常好,看起来像这样:
<connectionStrings>
<add name="xxx"
connectionString="SERVER=xxx;UID=xxx;Trusted_Connection=Yes;DATABASE=xxx;"
providerName="xxx" />
</connectionStrings>
这是连接的最佳方式吗?然后我使用asp web表单应用程序,主要使用gridview
<asp:SqlDataSource ID="MatchDataSource" Runat="server"
SelectCommand="SELECT * FROM [xxx].[Matcxxxh]"
UpdateCommand="UPDATE [xxx].[Matxxxch] SET [xxx] =
@xxx, [xxx] = @xxx, [xxx] =
@xxx WHERE x=@xxxAnd x=@xxx"
ConnectionString="<%$ ConnectionStrings:xxx %>">
<UpdateParameters>
<asp:Parameter Type="String" Name="CSISN"/>
<asp:Parameter Type="String" Name="ProcName"/>
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView ID="GridView1" Runat="server"
DataSourceID="MatchDataSource" Width="100%">
<RowStyle BackColor="white" ForeColor="black" Font-Italic="false" BorderColor="Black" />
<Columns>
<asp:TemplateField SortExpression="xxx" HeaderText="xxx">
<EditItemTemplate>
<asp:TextBox ID="editxxx" Runat="server" Text='<%# Bind("xxx") %>'
MaxLength="15" ToolTip="Enter CSI SN"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" Runat="server" ErrorMessage="You must provide a xxx." ControlToValidate="editxxx">*</asp:RequiredFieldValidator>
</EditItemTemplate>
<ItemTemplate><asp:Label Runat="server" Text='<%# Bind("CSISN") %>' ID="Label1"></asp:Label></ItemTemplate>
</asp:TemplateField>
我的问题是
答案 0 :(得分:2)
这是从配置中使用连接字符串的许多方法的一个。没有什么问题。看起来很好。
不,因为这是一个主观的事情而不是我们在这里回答的事情。
脚本完成后,连接将关闭。您无需执行任何操作(SqlDataSource
负责所有细节。)
答案 1 :(得分:0)
我反对使用SqlDataSource。
是的,它在该页面上运行良好。但是,如果需要在另一个页面上使用该调用,您最终会复制并粘贴一些内容以使其在那里工作。
我建议创建某种类来调用数据库并将其作为List或IEnumerable返回。然后使用该类,您可以在后面的代码中分配数据源。
以下是使用实体框架查询数据的小例子。
数据访问类
public static class DataAccess
{
public static List<Section> GetDataFromDatabase()
{
List<Section> recordList;
using (CustomEntities context = new CustomEntities())
{
IQueryable<Section> query = from records in context.Records
select sections;
recordList= query.ToList<Record>();
}
return recordList;
}
}
代码隐藏用法
private void BindLists()
{
// Get the data
List<Section> theData = DataAccess.GetDataFromDatabase();
// Assign the data source
gridView.DataSource = theData;
// Bind the grid view
gridView.DataBind();
}
这种方式可以在您的应用程序中提供更多的重用,并使更改变得更加容易。