当前位置:编程学习 > C#/ASP.NET >>

求助 ASP.NET 连接数据库问题

这个问题很棘手呀 其他的都正常

但就是在按BUTTEN得时候 传的数据 更新不到数据库里

都弄了2天了 还是没找出原因

数据库应该没问题呀 我很奇怪



public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btn_SendMessage_Click(object sender, EventArgs e)
    {

        SqlConnection conn = new SqlConnection(@"sever = .\sqlexpress;database=GuestBook;    Trusted_Connection=True");
        string Sql = "INSERT INTO tbGuestBook (UserName,PostTime,Message,IsReplied,Reply) values ('test','2006-11-1 12:00','测试连接',0,'sb')";
        SqlCommand cmd = new SqlCommand (Sql, conn);
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();

    } --------------------编程问答--------------------  没有错误信息么? --------------------编程问答-------------------- 报什么错误信息呀? --------------------编程问答-------------------- 什么错误信息都没有呀 --------------------编程问答-------------------- 没看出问题来 --------------------编程问答-------------------- [img=http://hi.csdn.net/space-6272760-do-album-picid-682350-goto-down.html][/img]
[img=http://hi.csdn.net/space-6272760-do-album-picid-682373-goto-down.html][/img] --------------------编程问答-------------------- --------------------编程问答-------------------- SqlCommand cmd = new SqlCommand (Sql, conn);
  conn.Open();
这两句话换下位置,
然后加个try catch 捕捉下异常 --------------------编程问答--------------------
问题的关键是它没报错 

按调试能正常运行 

但是 点button 那个插入的SQL语句 就是存不到aql2005express数据库里 查询 我的表是空的 

我看网上说什么权限的问题  试了很多下 还是没弄出来
--------------------编程问答-------------------- 调试一下。加断点。看你的点击事件有没有执行到。 --------------------编程问答--------------------
 conn.Open();
  cmd.ExecuteNonQuery();

在这里try catch一下,在跟一个断点,就OK了。 --------------------编程问答-------------------- 首先确认你的连接字符串没有问题,是否能脸上数据库。 --------------------编程问答--------------------      
  try
            {
              conn.Open();
              cmd.ExecuteNonQuery();
              conn.Close();
            }
            catch { Console.WriteLine("异常")};
    }

是这样写吗 小弟初学者  加个断点后 说

错误 1 应输入        ;

C:\Users\xc-pierce\Documents\Visual Studio 2008\BBS\Default.aspx.cs 36 44 C:\...\BBS\
--------------------编程问答-------------------- 你把SQL语句拿出来测试一下,如果能执行成功,就是程序中的问题
--------------------编程问答-------------------- catch { Console.WriteLine("异常")};改成
catch { Console.WriteLine("异常");}
--------------------编程问答--------------------   catch { Console.WriteLine("异常")};
 不要分号
  把你的sql语句 拿到数据库里试试 看能否 添加 --------------------编程问答-------------------- SqlCommand cmd = new SqlCommand (Sql, conn);
这边加个 断点 把 sql 添加监视 拿到SQL 查询分析器里面看看  --------------------编程问答-------------------- cmd.ExecuteNonQuery();
这个应该有个返回值,接收下,看这个值是多少 --------------------编程问答-------------------- 把你的sql语句 拿到数据库里试试 看能否 添加


我试了下 语句没问题 可以添加  可能是程序的问题

不行 我重头再做一遍 

SqlCommand cmd = new SqlCommand (Sql, conn);
这边加个 断点 把 sql 添加监视 拿到SQL 查询分析器里面看看 

这个监视视图里什么数据也没有 哎~ --------------------编程问答--------------------
引用 16 楼 yzf86211861 的回复:
SqlCommand cmd = new SqlCommand (Sql, conn);
这边加个 断点 把 sql 添加监视 拿到SQL 查询分析器里面看看



鼠标移到 sql 变量没有值
我是新手 
要监视变量的值 我要监视变量的值,应该怎么弄?
从来没试过 --------------------编程问答-------------------- SqlConnection conn = new SqlConnection(@"sever = .\sqlexpress;database=GuestBook; Trusted_Connection=True");
把这句改成:
SqlConnection conn = new SqlConnection("sever = .\sqlexpress;database=GuestBook; uid=sa;pwd=sa");
如果成,就是你的连接有问题. --------------------编程问答--------------------
引用 19 楼 xc_pierce 的回复:
引用 16 楼 yzf86211861 的回复:

SqlCommand cmd = new SqlCommand (Sql, conn);
这边加个 断点 把 sql 添加监视 拿到SQL 查询分析器里面看看



鼠标移到 sql 变量没有值
我是新手 
要监视变量的值 我要监视变量的值,应该怎么弄?
从来没试过

调试的时候走到那边的时候,在那个sql变量上右击,添加监视,就可以看到这个变量的值了。 --------------------编程问答--------------------
引用 19 楼 xc_pierce 的回复:
鼠标移到 sql 变量没有值
我是新手 
要监视变量的值 我要监视变量的值,应该怎么弄?
从来没试过

看以下传参之前参数有没有值 

  把传过来的参数 response.write 一下
--------------------编程问答--------------------
引用 7 楼 hookyzlr 的回复:
SqlCommand cmd = new SqlCommand (Sql, conn);
  conn.Open();
这两句话换下位置,
然后加个try catch 捕捉下异常


这个是没关系的 --------------------编程问答--------------------    protected void btn_SendMessage_Click(object sender, EventArgs e)
  {
SqlConnection conn = new SqlConnection(@"data source= .\sqlexpress;
   initial catalog=GuestBook; Trusted_Connection=True");

  conn.Open();
   string Sql ="INSERT INTO tbGuestBook UserName,PostTime,Message,IsReplied,Reply)   
values ('test','2006-11-1 12:00','测试连接',0,'sb')";
  SqlCommand cmd = new SqlCommand (Sql, conn);
   cmd.ExecuteNonQuery();
  conn.Close();

  } --------------------编程问答--------------------
引用 24 楼 rwm5366745 的回复:
protected void btn_SendMessage_Click(object sender, EventArgs e)
  {
SqlConnection conn = new SqlConnection(@"data source= .\sqlexpress;
initial catalog=GuestBook; Trusted_Connection=True");

con……

如果你连接的数据服务器是本机的话 就用上面的方法就就可以了

如果你连接的数据服务器不是本机 那
SqlConnection conn = new SqlConnection(@"data source= .\sqlexpress;
initial catalog=GuestBook; User Id=...; pwd=..");
--------------------编程问答-------------------- --------------------编程问答--------------------
引用 13 楼 cuipinggui 的回复:
你把SQL语句拿出来测试一下,如果能执行成功,就是程序中的问题

。。。。。。支持,不过首先确保连接正常 --------------------编程问答--------------------
引用 25 楼 rwm5366745 的回复:
引用 24 楼 rwm5366745 的回复:
protected void btn_SendMessage_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"data source= .\sqlexpress;
initial catalog=GuestBook; Trusted_Co……


SQl语句没问题,语言没问题!那就是连接有问题!(没连接到服务器) --------------------编程问答-------------------- 感觉好像是用的windows方式登陆的... --------------------编程问答-------------------- luguo  mejsdasn --------------------编程问答-------------------- 学习了,关注 --------------------编程问答-------------------- --------------------编程问答--------------------

 你把链接 语句改下 

  --------------------编程问答--------------------
引用 29 楼 xiaoxaioxiaoyuer 的回复:
感觉好像是用的windows方式登陆的...


恩 就是用WINDOWS 方式登录的? --------------------编程问答-------------------- 你用这条连接字符串读取数据看行不行!保证连接成功啊。然后try catch一下,保证不出错! --------------------编程问答--------------------  protected void btn_SendMessage_Click(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection(@"server=.\SQLEXPRESS;database=GuestBook;Trusted_Connection=True");
        string Sql = "INSERT INTO tbGuestBook (UserName,PostTime,Message,IsReplied,Reply) VALUES ('test','2006-11-1 12:00','测试连接',0,'sb')";
        SqlCommand cmd = new SqlCommand(Sql, conn);
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();

    }

问题解决了   哈哈  心情很畅快 哈哈哈哈哈哈

我把你们大家说的所有方法又重新试了一遍  结果还是不行

然后 我突然想到是不是我没有关联那个button 键  导致了 单击此案件没有什么事件的响应

我就回到设计窗口 找到button 的属性框 然后 点那个 闪电 按钮 看到 click 事件上显示的是这个 TextBox1_TextChanged

我不知道那个是干嘛的 我找到下拉框  重新 选中 btn_SendMessage_Click

然后 保存  运行 

接着查看数据库  突然 看到 数据库里有信息了  哈哈 

--------------------编程问答-------------------- 2f76697a-995e-4451-9452-408eed78e338 test 2006/11/1 12:00:00  测试连接 False sb

这是数据库的 结果  嘿嘿~

我才发现  看书 和实践的差距真的好大  书都看明白了 但是一操作 还是会有各种各样的问题 

就像这次 我就是照着书上的一个很简单的例子 弄的 结果 就困扰了我好久  我在这段时间 去图书馆又弄了本

C#数据库入门经典 把它给读完了 上面的例子也都敲了   明白了好多数据库连接的问题

然后又检查 我这个程序  呵呵 就突然 弄好了    看来 问题 才是学下去的动力 

我还得接着努力  呵呵

--------------------编程问答-------------------- 每一个字段类型你也注意看一下!
string Sql = "INSERT INTO tbGuestBook ([UserName],[PostTime],[Message],[IsReplied],[Reply]) values ('test','2006-11-1 12:00','测试连接',0,'sb')";
  SqlCommand cmd = new SqlCommand (Sql, conn);
  conn.Open();
  cmd.ExecuteNonQuery();
  conn.Close();

--------------------编程问答--------------------
引用 38 楼 sossos555 的回复:
每一个字段类型你也注意看一下!
string Sql = "INSERT INTO tbGuestBook ([UserName],[PostTime],[Message],[IsReplied],[Reply]) values ('test','2006-11-1 12:00','测试连接',0,'sb')";
  SqlCommand cmd = new SqlCommand (Sql,……


注意看字段类型 ?  什么意思? --------------------编程问答-------------------- 哥们,我测试过了,一个很不起眼的错误,我测试成功了,你把单词拼写错误了server 不是sever,注意拼写啊 --------------------编程问答--------------------
引用 40 楼 bossdarcy 的回复:
哥们,我测试过了,一个很不起眼的错误,我测试成功了,你把单词拼写错误了server 不是sever,注意拼写啊


哈哈 哥们 你太帅了  原来是这个问题呀 我就说 我重新来了遍 怎么就对了 呵呵 太谢谢你了 --------------------编程问答-------------------- 还有建议平时开启异常提示,应该是在vs中工具——选项——调试——常规那里勾选相应的异常提示的选项就行了,以后还是就是注意拼写,你上面描述题目是把Button写错为butten,多记一些单词吧!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,