我正在为研究生班设计一个项目,需要使用gridview从mysql填充数据,然后填充链接以编辑和删除所述数据。我似乎无法在线找到该问题的答案。通过向导测试了连接字符串,连接成功。
我曾尝试按照其他帖子的建议降级版本。我安装了Visual Studio 2017,因为我认为可能不支持2019。但是,无论我做什么,对于C#和html网站,都会通过sqldatasoure向导遇到相同的错误“无法连接-对象引用未设置为对象的实例”。
我认为经过数小时的调试,这可能只是我的项目,但是当我用一个网页创建一个空项目时,我遇到了同样的错误。
这与null异常不同,因为我认为它是相对于带有net连接器的mysql和visual studio本身,而不是null对象。我认为mysql插件扩展有问题。
网页:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:gridview runat="server"></asp:gridview>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:starssparksConnectionString %>" ProviderName="<%$ ConnectionStrings:starssparksConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [cart]"></asp:SqlDataSource>
</form>
</body>
</html>
网页aspx:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
Web.config:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="starssparksConnectionString" connectionString="server=localhost;user id=root;password=PASSWORD;persistsecurityinfo=True;database=starssparks"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6.1"/>
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
</configuration>
答案 0 :(得分:0)
卸载Visual Studio的mySQL并仅使用连接字符串可解决此问题。用于Visual Studio的mySQL中的连接器引起了连接问题。