You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将ASP.NET中C#的MSSQL查询代码转换为JavaScript实现

前端JavaScript无法直接连接MSSQL,正确方案是后端写接口+前端调用

首先明确:前端JS不能直接连接MSSQL数据库——这么做会把数据库连接字符串、SQL语句暴露给所有访问页面的用户,等于直接把数据库权限拱手让人,存在致命安全风险。

你需要通过「后端写API接口,前端JS调用接口拿数据」的方式实现需求,具体步骤如下:

1. 在ASP.NET后端写接口(处理数据库查询)

在你的项目里新增一个Controller,或者在现有Controller里加一个Action,用来执行数据库查询并返回JSON格式的数据:

public class FishController : Controller
{
    // 这个Action用来返回Fish表的minLength数据
    public IActionResult GetMinLength()
    {
        string minLength = string.Empty;
        // 使用using自动释放数据库连接,比手动Close更安全
        using (SqlConnection conn = new SqlConnection("sqlConnection"))
        {
            conn.Open();
            using (SqlCommand cmd = new SqlCommand("SELECT minLength FROM Fish", conn))
            {
                cmd.CommandTimeout = 60;
                var queryResult = cmd.ExecuteScalar();
                minLength = queryResult?.ToString() ?? string.Empty;
            }
        }
        // 把结果转成JSON返回给前端
        return Json(minLength);
    }
}

2. 在cshtml页面的JavaScript里调用接口

用fetch(原生JS)调用上面的接口,拿到数据后再做后续处理(比如更新UI、给Google Maps用):

// 页面加载完成后执行数据请求
document.addEventListener('DOMContentLoaded', async function() {
    try {
        // 调用后端接口,注意路径要和Controller/Action对应
        const response = await fetch('/Fish/GetMinLength');
        if (!response.ok) {
            throw new Error('数据请求失败');
        }
        // 解析返回的JSON数据
        const minLength = await response.json();
        
        // 这里写拿到数据后的逻辑,比如打印到控制台或者更新页面元素
        console.log('获取到的鱼最小长度:', minLength);
        // 示例:把数据显示到页面的某个元素里
        document.getElementById('min-length').textContent = minLength;
    } catch (error) {
        // 处理请求出错的情况
        console.error('获取数据时出错:', error);
    }
});

为什么不能直接用JS写SQL?

前端代码是完全暴露给用户的,任何人打开浏览器开发者工具就能看到你的数据库连接字符串和SQL语句,这会导致数据库被恶意攻击、数据泄露或篡改,绝对不能这么做。

这个方案既满足了你用JavaScript获取数据的需求,又符合Web开发的安全规范,不会出现你担心的丢分问题。

内容的提问来源于stack exchange,提问作者Jamie Clague

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:22:35