注册 登录
编程论坛 ASP.NET技术论坛

不能寫入數據,在線等待

david0620 发布于 2007-08-07 16:51, 1287 次点击

下面是我的代碼,為什麼連接不了SQL2000並寫不了數據
幫忙啊。。。有亂碼的中文可以不理


using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.SqlClient;

namespace Fileupload
{
/// <summary>
/// Addhistory 的摘要描述
/// </summary>
public class Addhistory : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.TextBox TextBox2;
protected System.Web.UI.WebControls.Label Label1;

private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text=this.Request.QueryString["filename"];
}

#region Web Form ??工具?生的程序?
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 此? ASP.NET Web Form ??工具所需的呼叫。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 此???工具支援所必?的方法 - ?勿使用程序???器修改
/// ??方法的?容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void savehistory()
{
string sModel=TextBox1.Text.ToUpper();
string sERP_NO=TextBox2.Text.ToUpper();
SqlConnection conn = new SqlConnection("data source=(local);user id=sa;password=chrdw;database=test");
SqlCommand cmd = new SqlCommand("insert into VGA(Model,ERP_NO) VALUES('"+sModel+"', '"+sERP_NO+"')",conn);
try
{
Conn.Open();
insertCmd.ExecuteNonQuery();
}
catch (Exception ee)
{
Response.write("Fail");
}
finally
{
Conn.Close();
}


Response.write("OK");
}

private void Button1_Click(object sender, System.EventArgs e)
{
string std_model =@"[M][S]*?-[0-9][0-9][0-9][0-9a-zA-Z]";
string std_erp =@"[0-9][0-9][0-9a-zA-Z]";

Regex r = new Regex(std_model);
Match m = r.Match(TextBox1.Text);
if(!m.Success)
Response.Write("<script>alert(\"机种名??入格式不正确,正确格式MS-XXXX\")</script>");

Regex r1 = new Regex(std_erp);
Match m1 = r1.Match(TextBox2.Text);
if(!m1.Success)
Response.Write("<script>alert(\"ERP?入格式不正确,正确格式XXX\")</script>");

Label1.Text="OK";
Response.Write("<script>parent.pb.Button1Complete();parent.ClearTimer();</script>");
savehistory();
}

}
}

24 回复
#2
冰彩虹2007-08-07 17:07
页面可以编译通过嘛?

insertCmd从哪儿冒出来的?Conn又是哪儿的?......
#3
david06202007-08-07 17:12
版主,你有這方面的資料沒,最好是你幫我改一下上面的代碼,不勝感激。。。
#4
冰彩虹2007-08-07 17:19
private void savehistory()
{
string sModel=TextBox1.Text.ToUpper();
string sERP_NO=TextBox2.Text.ToUpper();
SqlConnection conn = new SqlConnection("data source=(local);user id=sa;password=chrdw;database=test");
SqlCommand cmd = new SqlCommand("insert into VGA(Model,ERP_NO) VALUES('"+sModel+"','"+sERP_NO+"')",conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ee)
{
Response.write("Fail");
}
finally
{
conn.Close();
}
Response.write("OK");
}
试试看...
#5
david06202007-08-08 08:37

版主,我改了代碼如下:
改過了還是不能向sql寫數據,不知為什麼
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.SqlClient;

namespace Fileupload
{
/// <summary>
/// Addhistory ªººK­n´y­z¡C
/// </summary>
public class Addhistory : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.TextBox TextBox2;
protected System.Web.UI.WebControls.Label Label1;

private void Page_Load(object sender, System.EventArgs e)
{
Label1.Text=this.Request.QueryString["filename"];
}

#region Web Form ³]­p¤u¨ã²£¥Íªºµ{¦¡½X
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: ¦¹¬° ASP.NET Web Form ³]­p¤u¨ã©Ò»Ýªº©I¥s¡C
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// ¦¹¬°³]­p¤u¨ã¤ä´©©Ò¥²¶·ªº¤èªk - ½Ð¤Å¨Ï¥Îµ{¦¡½X½s¿è¾¹­×§ï
/// ³o­Ó¤èªkªº¤º®e¡C
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void savehistory()
{
string sModel=TextBox1.Text.ToUpper();
string sERP_NO=TextBox2.Text.ToUpper();
SqlConnection conn = new SqlConnection("data source=(local);user id=sa;password=chrdw;database=test");
SqlCommand cmd = new SqlCommand("insert into VGA(Model,ERP_NO) VALUES('"+sModel+"','"+sERP_NO+"')",conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ee)
{
Response.write("Fail");
}
finally
{
conn.Close();
}
Response.write("OK");
}

private void Button1_Click(object sender, System.EventArgs e)
{

Response.Write("<script>parent.pb.Button1Complete();parent.ClearTimer();</script>");
savehistory();
}

}
}

#6
冰彩虹2007-08-08 08:48
可以运行,就是数据没有写进去,是嘛?

单步跟踪看看
#7
david06202007-08-08 08:51
親愛的版主,首先感謝你的支持。。。
在網頁上可以運行,但是數據沒的寫進去,你說對了。。。
是什麼原因啊
什麼叫單步跟蹤。。。
不明白,上面寫的連接sql的形式沒有錯嗎?
我是通過BUTTON1按扭來調用savehistory()來寫數據的呢。。。
private void Button1_Click(object sender, System.EventArgs e)
{

Response.Write("<script>parent.pb.Button1Complete();parent.ClearTimer();</script>");
savehistory();
}
#8
冰彩虹2007-08-08 09:00
樓主哈,單步跟踪就是設置斷點調試哈

設置好斷點后,菜單 調試->啓動調試

或直接點擊工具欄下麵的小三角
#9
david06202007-08-08 09:09
大哥,我沒有VS啊,我是直接用文本主檔寫的,條件有限。。。
呵呵,請問樓主有用C#連sql2000的資料嗎?
我覺得還是我的代碼有問題。。。。。。。。。
#10
冰彩虹2007-08-08 09:23
,哇塞,楼主是强人哈,直接文本文件里进行,呵呵

C#連sql2000和连接2005一样的哈

connectionString="Database=BPMS;Server=10.66.3.50;uid=bpms_dev;pwd=dev_bpms"
或windows集成验证形式的connectionString="Database=SMM;Server=.;Integrated Security=SSPI;"
#11
david06202007-08-08 09:37
版主,一般的我都知道。我現在就郁悶為什麼我上面的代碼寫不進數據。。。
還請版主幫幫忙啊,不勝感激。
#12
冰彩虹2007-08-08 09:44
大哥,我还在上班呐!呵呵,自己解决吧
#13
david06202007-08-08 10:27
暈倒,還有哪位高手嗎
#14
sean882007-08-08 11:25
以下是引用david0620在2007-8-8 10:27:26的发言:
暈倒,還有哪位高手嗎

楼主可是真强人,呵呵`~文本开发~~

刚测试一下,是楼主的这两句代码有点问题W是小写.

Response.write("Fail");
Response.write("OK");

#15
david06202007-08-08 11:59
哪是不是要改為大寫啊。。。
我也深圳的哦..
#16
sean882007-08-08 13:06
以下是引用david0620在2007-8-8 11:59:07的发言:
哪是不是要改為大寫啊。。。
我也深圳的哦..

是要改成大写`~~

#17
david06202007-08-08 13:18
但是我改了後還是不行啊。。郁悶啊。。。。。。。
你有運行過我的代碼嗎?
我的數據庫表是VGA:
Model varchar(20);
ERP_NO varchar(20)
我就加入這兩個數據而已 呢
#18
sean882007-08-08 13:36
以下是引用david0620在2007-8-8 13:18:20的发言:
但是我改了後還是不行啊。。郁悶啊。。。。。。。
你有運行過我的代碼嗎?
我的數據庫表是VGA:
Model varchar(20);
ERP_NO varchar(20)
我就加入這兩個數據而已 呢

改成大写的W后,我正常运行,数据库也能正常插入数据.不知道你的是什么原因了`~~~发你吧`~~我只改动了数据库连接串,表名和列名,其它没变
private void savehistory()
{
string sModel = TextBox1.Text.ToUpper();
string sERP_NO = TextBox2.Text.ToUpper();
SqlConnection conn = new SqlConnection("Persist Security Info=False;User ID=sa;Password=expedia-sow4;Initial Catalog=EDQScriptDB;Data Source=fb-sow-four");
SqlCommand cmd = new SqlCommand("insert into webuserpage(username,pagename) VALUES('" + sModel + "','" + sERP_NO + "')", conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ee)
{
Response.Write("Fail");
}
finally
{
conn.Close();
}
Response.Write("OK");
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
Response.Write("<script>parent.pb.Button1Complete();parent.ClearTimer();</script>");
savehistory();
}
catch (Exception ex)
{
Response.Redirect("ErrorPage.aspx?ErrorMsg=" + ex.Message + "&ErrorUrl=" + Request.Url.ToString());
}

}

[此贴子已经被作者于2007-8-8 13:37:28编辑过]

#19
david06202007-08-08 14:00
感謝,我去試一下。。。。。
#20
david06202007-08-08 14:01
你哪個aspx的代碼呢
#21
sean882007-08-08 14:05
以下是引用david0620在2007-8-8 14:01:39的发言:
你哪個aspx的代碼呢

我没有写aspx页面代码呀`~我只是按你的代码,修改一下,调用而以呀`~~

#22
david06202007-08-08 14:22
我是怕我的ASPX代碼有問題
我的代碼是這樣的:
<%@ Page language="c#" Codebehind="Addhistory.aspx.cs" AutoEventWireup="false" Inherits="Fileupload.Addhistory" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Addhistory</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="新細明體">
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 336px; POSITION: absolute; TOP: 88px" runat="server">Label</asp:Label>
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 488px; POSITION: absolute; TOP: 208px" runat="server"
Text="Button"></asp:Button>
<asp:TextBox id="TextBox1" style="Z-INDEX: 103; LEFT: 240px; POSITION: absolute; TOP: 136px"
runat="server"></asp:TextBox>
<asp:TextBox id="TextBox2" style="Z-INDEX: 104; LEFT: 480px; POSITION: absolute; TOP: 136px"
runat="server"></asp:TextBox></FONT>
</form>
</body>
</HTML>
你可以改一下將一個完整的代碼發到論壇上來嗎?
包括aspx.cs和aspx的代碼
#23
david06202007-08-08 14:42
SqlConnection conn = new SqlConnection("Persist Security Info=False;User ID=sa;Password=expedia-sow4;Initial Catalog=EDQScriptDB;Data Source=fb-sow-four");
SqlCommand cmd = new SqlCommand("insert into webuserpage(username,pagename) VALUES('" + sModel + "','" + sERP_NO + "')", conn);

怎麼知道是向哪個數據庫寫入數據呢?
是不是還要加database=XXXX啊
#24
sean882007-08-08 14:46
以下是引用david0620在2007-8-8 14:22:30的发言:
我是怕我的ASPX代碼有問題
我的代碼是這樣的:
<%@ Page language="c#" Codebehind="Addhistory.aspx.cs" AutoEventWireup="false" Inherits="Fileupload.Addhistory" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Addhistory</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="新細明體">
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 336px; POSITION: absolute; TOP: 88px" runat="server">Label</asp:Label>
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 488px; POSITION: absolute; TOP: 208px" runat="server"
Text="Button"></asp:Button>
<asp:TextBox id="TextBox1" style="Z-INDEX: 103; LEFT: 240px; POSITION: absolute; TOP: 136px"
runat="server"></asp:TextBox>
<asp:TextBox id="TextBox2" style="Z-INDEX: 104; LEFT: 480px; POSITION: absolute; TOP: 136px"
runat="server"></asp:TextBox></FONT>
</form>
</body>
</HTML>
你可以改一下將一個完整的代碼發到論壇上來嗎?
包括aspx.cs和aspx的代碼

不好意思,我也在做着事情,呵`~有空再帮你吧`~不过,我觉得最好你还是装个VS开发环境吧`~~

#25
david06202007-08-08 15:41
郁悶中。。
1