******将截断字符串或二进制数据********

lanhai0859 2004-06-16 09:36:40
这是什么错误啊
怎么解决啊
...全文
3185 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
问题已经解决了
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
我试试看
gOODiDEA 2004-06-16
  • 打赏
  • 举报
回复
//id设置为自增
string sql = "INSERT INTO UserInfo ( myname ) VALUES ( @myname )";
string myname = "";
myConnection.Open();
myCommand = new OleDbCommand( sql, myConnection );
myCommand.Parameters.Add( "@myname", SqlDbType.NVarChar, myname.Length ).Value = myname;
myCommand.ExecuteNonQuery();
xueqs 2004-06-16
  • 打赏
  • 举报
回复
gz
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
比如有一个表,一id,一个name
用参数的方法,怎么插入数据呢?,能不能写个完整的列子给我看一下,任务很急,我晕了
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
参数我不是很会用啊
gOODiDEA 2004-06-16
  • 打赏
  • 举报
回复
你应该试试直接用指定参数的方法来添加。
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
而且在本地测试,也是同样2个用户,却2个都可以了。非常郁闷,在服务器上就是不行
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
问题是,更新数据库,2个用户,一个可以,一个却不可以
gOODiDEA 2004-06-16
  • 打赏
  • 举报
回复
输入和输出参数及返回值 [C#]请参见
使用 .NET 数据提供程序访问数据
语言
C#

Visual Basic

全部显示


除了输入和输出参数之外,存储过程还可以具有返回值。以下示例阐释 ADO.NET 如何发送和接收输入参数、输出参数和返回值,其中采用了这样一种常见方案:将新记录插入其中主键列是自动编号字段的表。该示例使用输出参数来返回自动编号字段的 @@Identity,而 DataAdapter 则将其绑定到 DataTable 的列,使 DataSet 反映所生成的主键值。

该示例使用以下存储过程将新目录插入 Northwind Categories 表(该表将 CategoryName 列中的值当作输入参数),从 @@Identity 中以输出参数的形式返回自动编号字段 CategoryID 的值,并提供所影响行数的返回值。

CREATE PROCEDURE InsertCategory
@CategoryName nchar(15),
@Identity int OUT
AS
INSERT INTO Categories (CategoryName) VALUES(@CategoryName)
SET @Identity = @@Identity
RETURN @@ROWCOUNT
以下示例将 InsertCategory 存储过程用作 DataAdapter 的 InsertCommand 的数据源。通过将 CategoryID 列指定为 @Identity 输出参数的 SourceColumn,当调用 DataAdapter 的 Update 方法时,所生成的自动编号值将在该记录插入数据库后在 DataSet 中得到反映。

对于 OleDbDataAdapter,必须在指定其他参数之前先指定 ParameterDirection 为 ReturnValue 的参数。

SqlClient
[Visual Basic]
Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;" & _
"Initial Catalog=northwind")

Dim catDA As SqlDataAdapter = New SqlDataAdapter("SELECT CategoryID, CategoryName FROM Categories", nwindConn)

catDA.InsertCommand = New SqlCommand("InsertCategory" , nwindConn)
catDA.InsertCommand.CommandType = CommandType.StoredProcedure

Dim myParm As SqlParameter = catDA.InsertCommand.Parameters.Add("@RowCount", SqlDbType.Int)
myParm.Direction = ParameterDirection.ReturnValue

catDA.InsertCommand.Parameters.Add("@CategoryName", SqlDbType.NChar, 15, "CategoryName")

myParm = catDA.InsertCommand.Parameters.Add("@Identity", SqlDbType.Int, 0, "CategoryID")
myParm.Direction = ParameterDirection.Output

Dim catDS As DataSet = New DataSet()
catDA.Fill(catDS, "Categories")

Dim newRow As DataRow = catDS.Tables("Categories").NewRow()
newRow("CategoryName") = "New Category"
catDS.Tables("Categories").Rows.Add(newRow)

catDA.Update(catDS, "Categories")

Dim rowCount As Int32 = CInt(catDA.InsertCommand.Parameters("@RowCount").Value)
[C#]
SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;" +
"Initial Catalog=northwind");

SqlDataAdapter catDA = new SqlDataAdapter("SELECT CategoryID, CategoryName FROM Categories", nwindConn);

catDA.InsertCommand = new SqlCommand("InsertCategory", nwindConn);
catDA.InsertCommand.CommandType = CommandType.StoredProcedure;

SqlParameter myParm = catDA.InsertCommand.Parameters.Add("@RowCount", SqlDbType.Int);
myParm.Direction = ParameterDirection.ReturnValue;

catDA.InsertCommand.Parameters.Add("@CategoryName", SqlDbType.NChar, 15, "CategoryName");

myParm = catDA.InsertCommand.Parameters.Add("@Identity", SqlDbType.Int, 0, "CategoryID");
myParm.Direction = ParameterDirection.Output;

DataSet catDS = new DataSet();
catDA.Fill(catDS, "Categories");

DataRow newRow = catDS.Tables["Categories"].NewRow();
newRow["CategoryName"] = "New Category";
catDS.Tables["Categories"].Rows.Add(newRow);

catDA.Update(catDS, "Categories");

Int32 rowCount = (Int32)catDA.InsertCommand.Parameters["@RowCount"].Value;

如果没用存储过程,那么需要作一点修改
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
帮我看看gOODiDEA(无语) 大哥
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
我的帮助里找不到
gOODiDEA 2004-06-16
  • 打赏
  • 举报
回复
ms-help://MS.MSDNVS.2052/cpguide/html/cpconinputoutputparametersreturnvalues.htm
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
DataRow dr;啊
gOODiDEA 2004-06-16
  • 打赏
  • 举报
回复
dr?参数的添加是myCommand.Parameters.Add("@CategoryName", SqlDbType.NChar, 15, "CategoryName");这种形式吗?

把代码贴全吧
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
是文本的我都设置成text类型了
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
我用2个用户上传同一副图片,,一个可以,一个就出现了这个错误,我郁闷
smoothwood 2004-06-16
  • 打赏
  • 举报
回复
数据库中该字段的长度小了!
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
还调用了2个函数
public DataRow SelectByKey(string TableName)
{

string Sqlstr="";
Sqlstr= "select top 0 * from "+TableName;
da=new SqlDataAdapter( Sqlstr,_SConn );

if ( dss.Tables[TableName] != null )
{
dss.Tables[TableName].Clear();
}
da.Fill( dss, TableName );

SqlCommandBuilder objBuilder = null;
objBuilder = new SqlCommandBuilder( da );
da.InsertCommand = objBuilder.GetInsertCommand();
da.UpdateCommand = objBuilder.GetUpdateCommand();

//新增
dss.Tables[TableName].Rows.Add(dss.Tables[TableName].NewRow());

if(dss.Tables[TableName].Rows.Count>0)
return dss.Tables[TableName].Rows[0];
else
return null;
}

public bool Update(string TableName)
{
try
{
da.Update( dss, TableName );
return true;
}
catch
{
return false;
}
}

以上,是我自己定义的2个函数,包含在一个类里,以上用的da和dss都是在函数外部定义.相当于类库的全局变量.
在一个页面下我新增一条数据
MyClass sm=new Class();
dr=sm.SelectByKey(string TableName);
dr["dd"]="..";
.
.
.
dr["vv"]="";
sm.Update(TableTame);
lanhai0859 2004-06-16
  • 打赏
  • 举报
回复
dr["Image_Name"]=ImageNewName; //图片名称
dr["Image_Name1"]=ImageNewName1; //图片小图名称
dr["Image_Size"]=ImageSize; //图片大小
dr["Image_Height"]=ImageHeight; //图片高度
dr["Image_Width"]=ImageWidth; //图片宽度
dr["Image_SendTime"]=DateTime.Now; //图片上传日期
dr["Album_ID"]=Session["Album_ID"].ToString(); //此图片属于哪个相册
dr["Album_Title"]=Res.Album_Title;
dr["Album_Title1"]=
dr["Directory_ID"]= //此图片属于哪个目录
dr["Directory_Name"]=Directory_Name.SelectedValue;
dr["Directory_Name1"]=Directory_Name.SelectedItem.Text;
dr["UserID"]=Session["UserID"].ToString();
dr["NickName"]=Session["NickName"].ToString();
加载更多回复(7)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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