大禹儿 2024-05-24 17:11 采纳率: 0%
浏览 2

.net 链接数据库后 .Cs文件操作执行 设计的出错或成功提醒

.net里 生成浏览器打开项目 在修改数据库操作时 .cs文件里有判断语句提示成功或失败 执行后提示成功 但是 浏览器里的数据并未更新 数据库里的数据也没有更新成功

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-24 17:11
    关注

    引自免费微信小程序:皆我百晓生

    在.NET中,如果你想要在执行数据库操作后,给用户一个明确的成功或失败提示,并且确保浏览器和数据库中的数据都能正确更新,你需要检查以下几个方面:

    1. 数据库连接:确保你的应用程序能够成功连接到数据库。
    2. SQL命令:确认你的SQL命令没有错误,例如插入、更新或删除的数据是否符合预期。
    3. 异常处理:添加适当的异常处理机制,以便在发生错误时提供反馈。
    4. 刷新页面:在C#中完成数据库操作后,可能需要刷新浏览器页面以显示最新的数据。

    这里是一个简单的示例,展示了如何在C#中执行数据库操作并提供反馈:

    首先,确保你已经设置了正确的数据库连接字符串(这里使用ADO.NET):

    string connectionString = "Data Source=yourServerName;Initial Catalog=yourDatabaseName;Integrated Security=True";
    

    接下来,在你的.cs文件中编写方法,用于执行数据库操作并返回结果:

    using System;
    using System.Data.SqlClient;
    
    public class DatabaseManager
    {
        public bool ExecuteUpdate(string query)
        {
            try
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();
                    SqlCommand command = new SqlCommand(query, connection);
                    int rowsAffected = command.ExecuteNonQuery();
    
                    if (rowsAffected > 0)
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error: {ex.Message}");
                return false;
            }
        }
    }
    

    然后,在你的ASP.NET MVC控制器中,调用这个方法并根据结果向视图传递消息:

    using System.Web.Mvc;
    using YourNamespace.DatabaseManager;
    
    public class HomeController : Controller
    {
        private readonly DatabaseManager _databaseManager = new DatabaseManager();
    
        [HttpPost]
        public ActionResult UpdateData(string updateCommand)
        {
            bool success = _databaseManager.ExecuteUpdate(updateCommand);
    
            if (success)
            {
                ViewBag.Message = "Data updated successfully.";
                return View("Success");
            }
            else
            {
                ViewBag.Message = "Failed to update data.";
                return View("Failure");
            }
        }
    }
    

    在对应的视图(如Success.cshtml和Failure.cshtml)中,显示消息:

    <!-- Success.cshtml -->
    <h2>@ViewBag.Message</h2>
    <p>Click <a href="@Url.Action("Index", "Home")">here</a> to go back and see the updated data.</p>
    
    <!-- Failure.cshtml -->
    <h2>@ViewBag.Message</h2>
    <p>Click <a href="@Url.Action("Index", "Home")">here</a> to retry or contact support.</p>
    

    最后,你需要在前端页面(HTML)中通过AJAX提交表单,这样可以在不重新加载整个页面的情况下获取服务器端的反馈信息:

    <!-- index.html -->
    <form id="updateForm">
        <!-- Your form fields here -->
        <button type="submit" onclick="sendUpdate()">Submit</button>
    </form>
    
    <div id="message"></div>
    
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
    function sendUpdate() {
        var updateCommand = $("#yourInputField").val(); // Replace with your input field selector
        $.ajax({
            url: "/Home/UpdateData",
            method: "POST",
            data: { updateCommand: updateCommand },
            success: function(response) {
                $("#message").text(response.message);
            },
            error: function(xhr, status, error) {
                $("#message").text("An error occurred while updating the data.");
            }
        });
    }
    </script>
    

    这样,当用户点击提交按钮时,将会执行异步请求,更新数据库并在浏览器中显示相应的成功或失败消息。然而,为了看到数据更新,用户可能需要手动刷新页面,因为这通常取决于你的前端应用是如何处理数据更新的。如果你正在使用MVVM框架(如Angular、React或Vue),那么可以考虑实时同步数据库更改,无需手动刷新页面。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月24日

悬赏问题

  • ¥20 如何通过代码传输视频到亚马逊平台
  • ¥15 php查询mysql数据库并显示至下拉列表中
  • ¥15 freertos下使用外部中断失效
  • ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
  • ¥15 devserver配置完 启动服务 无法访问static上的资源
  • ¥15 解决websocket跟c#客户端通信
  • ¥30 Python调用dll文件输出Nan重置dll状态
  • ¥15 浮动div的高度控制问题。
  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题