c#保存数据的问题

barely 2006-09-15 10:29:42
各位大侠好:
我有个程序,当我把数据保存到SQL SERVER数据库时,程序老死机,请问这是什么原因呀?急呀,急呀,分不够再加,顶者也有分
...全文
507 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
barely 2006-09-16
  • 打赏
  • 举报
回复
多谢各位大侠。
barely 2006-09-16
  • 打赏
  • 举报
回复
多谢各位大侠。
barely 2006-09-16
  • 打赏
  • 举报
回复
已解决,多谢各位大侠。
zhfj001 2006-09-15
  • 打赏
  • 举报
回复
楼上的话有道理,提问问题也是一门学问.
一定要描述清楚才行,大家才有可能帮你解决.
Am I right?
luck0235 2006-09-15
  • 打赏
  • 举报
回复
楼主,你得把问题描述清楚,首先“程序死机”是啥含义?程序没有响应?系统死机?IE无响应?有无错误提示?其次你得分析自己的代码,确定或认为最有可能出现问题的关键部分帖上来,这样大家才能帮你。

这种问题简直是让大家瞎猫去撞死耗子......
tshark 2006-09-15
  • 打赏
  • 举报
回复
如果是保存数据库信息错误,程序肯定会弹出一个错误提示,然后在错误的地方会提示兰色.死机多半不会吧.只会程序过半天才报错而已.

再说LZ你什么都没说清楚,程序错误的地方多着呢,把错误信息帖出来撒
geoffe 2006-09-15
  • 打赏
  • 举报
回复
是不是你机子问题啊
保存数据出现你这样的问题?
少见
luck0235 2006-09-15
  • 打赏
  • 举报
回复
lxwin01(阿幸) 强,楼主问题代码都没有,能回答这么多......
Aden 2006-09-15
  • 打赏
  • 举报
回复
你是用的存储过程吧,
修改cmd.CommandType=CommandType.StoredProcedure;
zhoulin777 2006-09-15
  • 打赏
  • 举报
回复
看了,我一般是用SQL语句,所以不太懂。
lxwin01 2006-09-15
  • 打赏
  • 举报
回复
public class SqlHelper
{
//数据库连接Url
private string url=string.Empty;
//内部命令
private SqlCommand cmd=null;

public string Url
{
get{return url;}
set{url=value;}
}

public SqlCommand Command
{
get{return cmd;}
}

public SqlHelper(){}
public SqlHelper(string url){this.url=url;}

/// <summary>
/// 初始化
/// </summary>
public void Init()
{
try
{
cmd=new SqlCommand(string .Empty,new SqlConnection(url));
}
catch(Exception ex)
{
throw new Exception("创建连接错误!",ex);
}
}

public void SelectTextCommand(string sql,IProcessor processor)
{
SqlDataReader read=null;
try
{
cmd.Parameters.Clear();
cmd.CommandType=CommandType.Text;
cmd.CommandText=sql;
if(cmd.Connection.State!=ConnectionState.Open)
cmd.Connection.Open();
read=cmd.ExecuteReader();
processor.Parse(read);
}
catch(Exception ex)
{
ex.ToString();
}
finally
{
try
{
if(read!=null)
read.Close();
if(cmd!=null)
if(cmd.Connection.State!=ConnectionState.Closed)
cmd.Connection.Close();
}
catch{}
}
}

/// <summary>
/// 查询sql语句
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataTable SelectTextCommand(string sql)
{
try
{
cmd.Parameters.Clear();
cmd.CommandType=CommandType.Text;
cmd.CommandText=sql;
if(cmd.Connection.State!=ConnectionState.Open)
cmd.Connection.Open();
DataTable dt=new DataTable();
SqlDataAdapter da=new SqlDataAdapter(cmd);
da.Fill(dt);
return dt;
}
catch(Exception ex)
{
ex.ToString();
}
finally
{
if(cmd!=null)
if(cmd.Connection.State!=ConnectionState.Closed)
cmd.Connection.Close();
}
return null;
}

public DataTable SelectStoreCommand(SqlCommand cmd)
{
try
{
cmd.CommandType=CommandType.StoredProcedure;
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataTable dt=new DataTable();
if(cmd.Connection.State!=ConnectionState.Open)
cmd.Connection.Open();
da.Fill(dt);
return dt;
}
catch(Exception ex)
{
ex.ToString();
}
finally
{
if(cmd!=null)
if(cmd.Connection.State!=ConnectionState.Closed)
cmd.Connection.Close();
}
return null;
}

/// <summary>
/// 执行sql命令
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public bool SqlTextCommand(string sql)
{
try
{
cmd.Parameters.Clear();
cmd.CommandType=CommandType.Text;
cmd.CommandText=sql;
if(cmd.Connection.State!=ConnectionState.Open)
cmd.Connection.Open();
cmd.ExecuteNonQuery();
return true;
}
catch(Exception ex)
{
ex.ToString();
}
finally
{
if(cmd!=null)
if(cmd.Connection.State!=ConnectionState.Closed)
cmd.Connection.Close();
}
return false;
}

/// <summary>
/// 执行存储过程
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
public bool SqlStoreCommand(SqlCommand cmd)
{
try
{
cmd.CommandType=CommandType.StoredProcedure;
if(cmd.Connection.State!=ConnectionState.Open)
cmd.Connection.Open();
cmd.ExecuteNonQuery();
return true;
}
catch(Exception ex)
{
ex.ToString();
}
finally
{
if(cmd!=null)
if(cmd.Connection.State!=ConnectionState.Closed)
cmd.Connection.Close();
}
return false;
}
}

下面一个示例
public bool Insert(EmpTableInfo info)
{
if(info==null)
return false;
SqlCommand cmd=helper.Command;
cmd.Parameters.Clear();
cmd.CommandText="EmpTable_Insert";
cmd.Parameters.Add("@EmpID",SqlDbType.Int);
cmd.Parameters.Add("@EmpCode",SqlDbType.NVarChar,32);
cmd.Parameters.Add("@Name",SqlDbType.NVarChar,32);
cmd.Parameters.Add("@Sex",SqlDbType.Int);
cmd.Parameters.Add("@BirthDay",SqlDbType.DateTime);
cmd.Parameters.Add("@Email",SqlDbType.NVarChar,32);
cmd.Parameters.Add("@Phone",SqlDbType.NVarChar,32);
cmd.Parameters.Add("@MobilePhone",SqlDbType.NVarChar,32);
cmd.Parameters.Add("@ImagePath",SqlDbType.NVarChar,500);
cmd.Parameters.Add("@Memo",SqlDbType.NText);
cmd.Parameters.Add("@EmpTypeID",SqlDbType.Int);
cmd.Parameters.Add("@OrganID",SqlDbType.Int);
cmd.Parameters.Add("@DepartmentID",SqlDbType.Int);
cmd.Parameters.Add("@GroupID",SqlDbType.Int);
cmd.Parameters.Add("@PositionID",SqlDbType.Int);
cmd.Parameters.Add("@UserID",SqlDbType.Int);

cmd.Parameters["@EmpID"].Direction=ParameterDirection.Output;
cmd.Parameters["@EmpCode"].Value=info.EmpCode;
cmd.Parameters["@Name"].Value=info.Name;
cmd.Parameters["@Sex"].Value=info.Sex;
cmd.Parameters["@BirthDay"].Value=info.BirthDay;
cmd.Parameters["@Email"].Value=info.Email;
cmd.Parameters["@Phone"].Value=info.Phone;
cmd.Parameters["@MobilePhone"].Value=info.MobilePhone;
cmd.Parameters["@ImagePath"].Value=info.ImagePath;
cmd.Parameters["@Memo"].Value=info.Memo;
cmd.Parameters["@EmpTypeID"].Value=info.EmpTypeID;
cmd.Parameters["@OrganID"].Value=info.OrganID;
cmd.Parameters["@DepartmentID"].Value=info.DepartmentID;
cmd.Parameters["@GroupID"].Value=info.GroupID;
cmd.Parameters["@PositionID"].Value=info.PositionID;
cmd.Parameters["@UserID"].Value=info.UserID;

return helper.SqlStoreCommand(cmd);
}
查询示例
DataTable dt=helper.SelectTextCommand(sql);
zhoulin777 2006-09-15
  • 打赏
  • 举报
回复
把那部分代码,发上来看看,应该就能找到问题
sunxianyu 2006-09-15
  • 打赏
  • 举报
回复
应该是代码有问题吧,代码发上来才行啊
一楼我抢到了最少要给10分呀

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧