将超链接值从C#粘贴到Access

我正在将文件上传到\ temp \,但是我想通过access中给定列中的超链接来访问它。我可以成功地将字符串粘贴到超链接字段中,但是字符串和文件本身之间没有链接。

我试图将网站地址从浏览器复制粘贴到access,令人惊讶的是,超链接与“字符串”一起粘贴了

//upload arquivo
string conexaoaccess2 = Configurationmanager.ConnectionStrings["conexaoaccess"].ToString();
using (OleDbConnection conexaodb1 = new OleDbConnection(conexaoaccess2))
{
    conexaodb1.Open();

    Random r = new Random();
    int n = r.Next();
    // pega somente nome 
    string[] f = camarq.Split('\\');
    string fn = f[(f.Length) - 1];
    string fullDest = @"C:\temp\" + nomearqnoExt + n + fileExtension0;
    string q = "UPDATE tbl_reg SET Campo1 = @campo WHERE nome_user = @nome1";

    //copia arquivo para a pasta destino
    File.Copy(camarq,fullDest,true);

    //to save to the database
    OleDbCommand cmd = new OleDbCommand(q,conexaodb1);
    var parCamp = cmd.CreateParameter();
    parCamp.ParameterName = "campo";
    parCamp.DbType = DbType.String;
    parCamp.Value = fullDest;
    cmd.Parameters.Add(parCamp);

    var parNome1 = cmd.CreateParameter();
    parNome1.ParameterName = "nome1";
    parNome1.DbType = DbType.String;
    parNome1.Value = mdl.nome;
    cmd.Parameters.Add(parNome1);

    cmd.ExecuteNonQuery();
}

我希望将字符串复制为超链接,但是,没有DbType假定这种数据类型吗?实际结果是:我可以成功将文件路径粘贴到该字段,但是该字段不包含指向任何内容的超链接:

qq34589355 回答:将超链接值从C#粘贴到Access

“访问超链接类型”字段需要由3个部分组成的值,这些部分由#个字符分隔:displaytext#path#subreference。选项:

  1. 如果在Access表设计中使用“超链接类型”字段,请在字符串中包含#个字符以进行保存。

  2. 只需使用文本字段保存不包含#个字符的路径字符串,然后使用代码中的FollowHyperlink方法或格式字符串将其与具有串联表达式的超链接结构连接:"#" & [fieldname] & "#"-在查询或文本框ControlSource中进行计算并设置文本框IsHyperlink属性为是。

本文链接:https://www.f2er.com/3137952.html

大家都在问