存储过程如下:begin
DECLARE t_id int unsigned default 0;
DECLARE p_id int unsigned default 0;
DECLARE r_id int unsigned default 0; /*新增text表记录,返回text_id*/
insert into `text`(old_text, old_flags) values(p_content, 'utf-8');
select @@identity into t_id; /*新增page表记录,page_latest先置0,返回page_id*/
set names latin1;
insert into `page`(page_namespace,page_title,page_restrictions,page_counter,page_is_redirect,page_is_new,page_random,page_touched,page_latest,page_len)
values(0, p_title, '', 1, 0, 1, 0, '', 0, p_len);
select @@identity into p_id; /*新增revision表记录,返回rev_id*/
insert into `revision`(rev_page, rev_text_id, rev_comment, rev_user, rev_user_text, rev_timestamp, rev_minor_edit, rev_deleted)
values(p_id, t_id, '', 1, 'Fgh63', '', 0, 0);
select @@identity into r_id; /*更新page表的page_latest*/
update `page` set page_latest=r_id where page_id = p_id; set names latin1;
insert into `recentchanges` (rc_timestamp,rc_cur_time,rc_user,rc_user_text,rc_namespace,rc_title,rc_comment,rc_minor,rc_bot,rc_new,rc_cur_id,rc_this_oldid,rc_last_oldid,
rc_type,rc_moved_to_ns,rc_moved_to_title,rc_patrolled,rc_ip,rc_old_len,rc_new_len)
values ('','', 1, 'Fgh63', 0, p_title, '', 0, 0 ,1,p_id, r_id, 0, 1, 0, '', 1, '127.0.0.1', 0, p_len); insert into `searchindex` (si_page, si_title, si_text) values(p_id, u8_title, u8_content);
end
C#代码如下: protected void btnODBC_Click(object sender, EventArgs e)
{
string strBinary = "";
byte[] binstr = System.Text.Encoding.Default.GetBytes(txtContent.Text.Trim());
for (int i = 0; i < binstr.Length; i++)
{
strBinary += Convert.ToString(binstr[i], 2);
} MySqlConnection conn = new MySqlConnection("Data Source=127.0.0.1;Database=test;User ID=root;Password=888888;port=;charset=utf8;"); //charset=utf8;
MySqlTransaction tran; conn.Open();
tran = conn.BeginTransaction();
try
{
MySqlCommand cmd = new MySqlCommand();
cmd.Transaction = tran;
cmd.Connection = conn;
cmd.CommandText = "p_Add_Page";
cmd.CommandType = CommandType.StoredProcedure; MySqlParameter p1 = new MySqlParameter("?p_title", MySqlDbType.VarChar, 255);
p1.Value = System.Text.Encoding.UTF8.GetString(System.Text.Encoding.UTF8.GetBytes(txtTitle.Text.Trim()));
cmd.Parameters.Add(p1); MySqlParameter p2 = new MySqlParameter("?p_content", MySqlDbType.MediumBlob, 0);
p2.Value = "测试";
cmd.Parameters.Add(p2); MySqlParameter p3 = new MySqlParameter("?p_len", MySqlDbType.Int32, 8);
p3.Value = BitConverter.ToString(Encoding.UTF8.GetBytes(txtContent.Text.Trim())).Replace("-", "").Length / 2;
cmd.Parameters.Add(p3); MySqlParameter p4 = new MySqlParameter("?u8_title", MySqlDbType.VarChar, 255);
p4.Value = ChangeCharset(txtTitle.Text.Trim());
cmd.Parameters.Add(p4); MySqlParameter p5 = new MySqlParameter("?u8_content", MySqlDbType.VarChar, 255);
p5.Value = ChangeCharset(txtContent.Text.Trim());
cmd.Parameters.Add(p5); int i = cmd.ExecuteNonQuery(); //新增searchindex记录
//Add_SearchIndex(page_id, txtTitle.Text.Trim(), txtContent.Text.Trim(), tran, conn); tran.Commit();
Label1.Text = "数据插入成功!";
}
catch (Exception ex)
{
tran.Rollback();
Label1.Text = "数据插入失败!" + ex.Message;
}
conn.Close();
}
MediumBlob类型的 p_content数据没有插入,数据库显示空字符串???
请问MediumBlob数据类型的数据要如何操作?
DECLARE t_id int unsigned default 0;
DECLARE p_id int unsigned default 0;
DECLARE r_id int unsigned default 0; /*新增text表记录,返回text_id*/
insert into `text`(old_text, old_flags) values(p_content, 'utf-8');
select @@identity into t_id; /*新增page表记录,page_latest先置0,返回page_id*/
set names latin1;
insert into `page`(page_namespace,page_title,page_restrictions,page_counter,page_is_redirect,page_is_new,page_random,page_touched,page_latest,page_len)
values(0, p_title, '', 1, 0, 1, 0, '', 0, p_len);
select @@identity into p_id; /*新增revision表记录,返回rev_id*/
insert into `revision`(rev_page, rev_text_id, rev_comment, rev_user, rev_user_text, rev_timestamp, rev_minor_edit, rev_deleted)
values(p_id, t_id, '', 1, 'Fgh63', '', 0, 0);
select @@identity into r_id; /*更新page表的page_latest*/
update `page` set page_latest=r_id where page_id = p_id; set names latin1;
insert into `recentchanges` (rc_timestamp,rc_cur_time,rc_user,rc_user_text,rc_namespace,rc_title,rc_comment,rc_minor,rc_bot,rc_new,rc_cur_id,rc_this_oldid,rc_last_oldid,
rc_type,rc_moved_to_ns,rc_moved_to_title,rc_patrolled,rc_ip,rc_old_len,rc_new_len)
values ('','', 1, 'Fgh63', 0, p_title, '', 0, 0 ,1,p_id, r_id, 0, 1, 0, '', 1, '127.0.0.1', 0, p_len); insert into `searchindex` (si_page, si_title, si_text) values(p_id, u8_title, u8_content);
end
C#代码如下: protected void btnODBC_Click(object sender, EventArgs e)
{
string strBinary = "";
byte[] binstr = System.Text.Encoding.Default.GetBytes(txtContent.Text.Trim());
for (int i = 0; i < binstr.Length; i++)
{
strBinary += Convert.ToString(binstr[i], 2);
} MySqlConnection conn = new MySqlConnection("Data Source=127.0.0.1;Database=test;User ID=root;Password=888888;port=;charset=utf8;"); //charset=utf8;
MySqlTransaction tran; conn.Open();
tran = conn.BeginTransaction();
try
{
MySqlCommand cmd = new MySqlCommand();
cmd.Transaction = tran;
cmd.Connection = conn;
cmd.CommandText = "p_Add_Page";
cmd.CommandType = CommandType.StoredProcedure; MySqlParameter p1 = new MySqlParameter("?p_title", MySqlDbType.VarChar, 255);
p1.Value = System.Text.Encoding.UTF8.GetString(System.Text.Encoding.UTF8.GetBytes(txtTitle.Text.Trim()));
cmd.Parameters.Add(p1); MySqlParameter p2 = new MySqlParameter("?p_content", MySqlDbType.MediumBlob, 0);
p2.Value = "测试";
cmd.Parameters.Add(p2); MySqlParameter p3 = new MySqlParameter("?p_len", MySqlDbType.Int32, 8);
p3.Value = BitConverter.ToString(Encoding.UTF8.GetBytes(txtContent.Text.Trim())).Replace("-", "").Length / 2;
cmd.Parameters.Add(p3); MySqlParameter p4 = new MySqlParameter("?u8_title", MySqlDbType.VarChar, 255);
p4.Value = ChangeCharset(txtTitle.Text.Trim());
cmd.Parameters.Add(p4); MySqlParameter p5 = new MySqlParameter("?u8_content", MySqlDbType.VarChar, 255);
p5.Value = ChangeCharset(txtContent.Text.Trim());
cmd.Parameters.Add(p5); int i = cmd.ExecuteNonQuery(); //新增searchindex记录
//Add_SearchIndex(page_id, txtTitle.Text.Trim(), txtContent.Text.Trim(), tran, conn); tran.Commit();
Label1.Text = "数据插入成功!";
}
catch (Exception ex)
{
tran.Rollback();
Label1.Text = "数据插入失败!" + ex.Message;
}
conn.Close();
}
MediumBlob类型的 p_content数据没有插入,数据库显示空字符串???
请问MediumBlob数据类型的数据要如何操作?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货